我有grails应用程序并安装了spring security core插件。我想注销另一个登录用户。 我可以使用sessionFactory获取所有登录用户列表。
需要帮助。
请给我详细解释。
我遵循了这个thread但是,我无法通过简单地使会话无效来退出。
答案 0 :(得分:1)
失效应该有效。 此代码100%用于grails 2.3.5,spring-security-core:2.0.0
def sessions = ContextListener.instance().getSessions()
def sessionToInvalidate = sessions.find{it.id == someId}
sessionToInvalidate.invalidate()
更新:ContextListener不是标准类。但是,它很容易实现。您可以在应用信息grails插件 here
中查看它是如何实现的答案 1 :(得分:0)
@Taras和@Burt 感谢
我跟着你们两个人在这个答案中提出的建议。工作正常。
但无效的mothod不会使会话无效,而另一个用户继续使用应用程序。我不知道为什么这种奇怪的行为。
所以我使用了sessionToInvalidate.setMaxInactiveInterval(1)
。这就像我预期的那样有效。