当前位置: 代码迷 >> Java Web开发 >> 急求高手指导: 浏览器关闭时,session 立即失效有关问题
  详细解决方案

急求高手指导: 浏览器关闭时,session 立即失效有关问题

热度:177   发布时间:2016-04-16 21:48:46.0
急,求高手指导: 浏览器关闭时,session 立即失效问题
大家好: 兄弟实在搞不定了,恳求高手指导一下,

需求: 
      浏览器关闭时,登陆系统的用户还可以再次登陆系统(同一用户不允许多点登陆)。


处理办法:
        用户登陆系统后,定时向后台发送异步请求(每一分钟),后台定时处理这些请求(每一分钟),
        如果发现某客户端超过一定时间(三分钟)没有向后台发送请求,即认为客户端浏览器被关闭了,当前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;



思路如下
 登录此用户可加状态标识,退出后该变状态
 登录时判断是否是登录状态
 
  相关解决方案