grails 实现同一时间只能一个用户进行登录问题

Mr_XK 发布于 2014/09/03 22:40
阅读 468
收藏 0
 由于项目需求,在同一时间只能有一个用户是在登录状态,后者登录的话就像QQ一样让前者退出的功能.在网上找了好久没很少有这边的案例或者讲解,有知道grails怎么实现如上的需求么?或者有相关文章也可以告诉我。谢谢
加载中
0
朗文

如果要实现单点登录,grail 可以和 CAS 集成。如何仅仅是只允许一个用户登录 登录实现采用 grails spring security core 插件,只需做相应配置即可。

在文件:resources.groovy

import org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy

import org.springframework.security.web.session.ConcurrentSessionFilter

import org.springframework.security.core.session.SessionRegistryImpl

import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy

beans = {

    sessionRegistry(SessionRegistryImpl)

    sessionAuthenticationStrategy(ConcurrentSessionControlStrategy, sessionRegistry) {

        maximumSessions = 1

    }

    concurrentSessionFilter(ConcurrentSessionFilter){

        sessionRegistry = sessionRegistry

        expiredUrl = '/login/concurrentSession'

    }

}  

详细步骤可以参考文件:

http://classpattern.com/spring-security-sessionregistry-on-grails.html


返回顶部
顶部