Spring Security 3.0控制一个帐号只允许登录一次的问题
2011-01-24 15:08
246 查看
Spring Security 3 自定义UserDetails后,控制一个帐号只能登录一次的功能不能起作用,原因出在自定义的UserDetails上:
org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy 里面的checkAuthenticationAllowed方法,调用了sessionRegistry.getAllSessions,用authentication.getPrincipal(),也就是UserDetails实现对象。 但是sessionRegistry存储的时候使用的是Hash的数据结构,在自定义的UserDetails里必须重写equals和hashCode。
见flashing的论坛主题:
http://www.javaeye.com/topic/823666
org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy 里面的checkAuthenticationAllowed方法,调用了sessionRegistry.getAllSessions,用authentication.getPrincipal(),也就是UserDetails实现对象。 但是sessionRegistry存储的时候使用的是Hash的数据结构,在自定义的UserDetails里必须重写equals和hashCode。
见flashing的论坛主题:
http://www.javaeye.com/topic/823666
相关文章推荐
- spring security 3.0的控制一个帐号只允许一次登录
- Spring Security学习一-控制同个帐号当前只能有一个登录
- 多相同用户或多浏览器中仅仅允许登录一次系统问题?
- Web 一个帐号多处登录问题
- 用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
- 用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
- 用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
- Spring Security 一个账号同一时刻只能登录一次
- 一个帐号在一定的时间里只能登录一次
- SpringSecurity3.1.2控制一个账户同时只能登录一次
- 利用spring security控制同一个用户只能一次登陆
- mysql root 用户无法远程登陆问题---客户端workbench用root帐号无法登录
- 解决tomcat 热部署问题,避免每次修改某一个小部分代码就得重启一次项目。浪费时间
- Spring Security管理下的ajax请求登录超时问题处理
- 斐波那契数列系列问题,题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- 关于VNC登录的问题,连接只出现一个十字叉
- 一个帐号在同一时间只能一个人登录
- 有关一个 iframe 的问题,关于在 iframe 内的页面内登录成功后,如何由当前页直接转到另一个页面内?
- Apache_通常每个套接字地址<协议>只允许使用一次_80端口问题
- 一个帐号一次登陆