Grails注销另一个登录用户

时间:2016-05-26 12:49:24

标签: grails spring-security logout

我有grails应用程序并安装了spring security core插件。我想注销另一个登录用户。 我可以使用sessionFactory获取所有登录用户列表。

需要帮助。

请给我详细解释。

我遵循了这个thread但是,我无法通过简单地使会话无效来退出。

2 个答案:

答案 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)。这就像我预期的那样有效。

相关问题