flex登录验证问题
我想请教一下,如何能够判断用户是否异地登陆呢?我想做到一个用户登录以后,就不允许别人再登录这个账号了,有什么方法可以实现吗?
[解决办法]
异地登陆:通过request对象的request.getRemoteAddr()方法获取IP,来判断是否异地登录。
不允许重复登录:应该通过session,来控制session的最大连接数是1,但有个难点时,如果用户非执行安全退出Logout,而是直接关闭浏览器,Server端如何去销毁session。
我用Spring Security2来控制不允许重复登录,只是一个配置,但它内部实现原理没研究过,如果也恰巧也用这个得话,可以真么做:
在Login的配置上加这个
<!-- 限制单个用户只能登录一次
(exception-if-maximum-exceeded为false第二次登录会让第一次登录失效
为true 防止第二次登录,默认为false)
需要在web.xml添加监听org.springframework.security.ui.session.HttpSessionEventPublisher
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>
-->
[解决办法]
直接监听IE是否被直接关闭就可以了啊,,
在后台加在线与离线状态控制,,登陆时判断是否在线,在线的话就不让登陆了