大家好: 兄弟实在搞不定了,恳求高手指导一下,
需求:
浏览器关闭时,登陆系统的用户还可以再次登陆系统(同一用户不允许多点登陆)。
处理办法:
用户登陆系统后,定时向后台发送异步请求(每一分钟),后台定时处理这些请求(每一分钟),
如果发现某客户端超过一定时间(三分钟)没有向后台发送请求,即认为客户端浏览器被关闭了,当前session 失效。
发现的问题:
上述处理后,如果客户端一直开启(会一直发送定时异步请求),但用户没有操作,session 一直不会失效,(web.xml 中设 置session 失效时间为 15分钟)
最终目的:
1,浏览器关闭时,登陆系统的用户还可以再次登陆系统(同一用户不允许多点登陆)。
2,用户无操作时长达到 web.xml 中配置的session 时间时,session 失效.
受教了,谢谢!
------解决思路----------------------
可以考虑 cookie based session
不过这样做安全是个问题
------解决思路----------------------
浏览器关闭后再打开依然可以登陆,除了使用客户端浏览器自身Cookie或者FLASH提供的临时信息存储方式,还真想不到其他的了.
------解决思路----------------------
菜鸟一枚,讲下自己的想法:每次用户操作都向发送指令延长重置失效倒计时。倒计时到了就关闭session
------解决思路----------------------
需求:
浏览器关闭时,登陆系统的用户还可以再次登陆系统(同一用户不允许多点登陆)。
目测理解是同一用户只可以在一个地方登录一次?如果理解对了
请往下看
js浏览器关闭判断
现在浏览器差不多都支持onbeforeunload事件(即页面卸载前触发的事件),而且现在很多网站都用到了
window.onbeforeunload = function() {
if(confirm('你确定要离开本页?')){
//这里做操作(做你想要的操作你懂得.)
return true;
}else{
return false;
}
}
思路如下
登录此用户可加状态标识,退出后该变状态
登录时判断是否是登录状态