情况:在浏览器的一个tab页上登录系统,在同一个浏览器打开第二tab页,再次登录系统,返回第一个tab页实际上已经是第二个登录用户了,有没有办法让不同tab页登录的时候是不同的session呢?或者在第二个tab页登录系统后,刷新第一个tab页的用户???

解决方案 »

  1.   

    一般是不会这样的。
    除非你们session是不用cookie的。
      

  2.   

    在同一个浏览器窗口(包括这个窗口中的其他选项卡)中Session都是同一个session,
    除非你打开一个新的窗口(如重新点击IE图标生成的窗口),这样等于是又建了个session。
      

  3.   

    是啊!不同tab页间共享一个session了,但是需求要的效果是不同的tab登录不同的用户,之间是要隔离的。
      

  4.   

    对于IE浏览器来说,IE6是不存在这个问题的,新打开一个窗口就是一个新的Session,对于IE7以上那就会产生这种情况,标签页之间肯定在同一个Session中,除非其它的浏览器能做到。不过IE8里面是有一个叫新建会话的功能的
      

  5.   

     
       现在好像浏览器只支持一个session
      

  6.   

    最近的解决方案是,无论那个tab也都先转到登录页面,一个tab登录后,其他的都不允许登录。登录的用户界面不允许刷新操作。刷新就退出系统
      

  7.   

    但是这问题解决,但是又引发了新的问题。unload事件,在火狐下直接点击右上方的叉号,是不执行这个事件的。因为要确认用户是否真的要退出(onbeforeunload 中的returnValue).确定之后执行onunload事件,以便退出当前在线用户。  系统不允许重复登录(系统安全级别较高)。
      

  8.   

    是的,浏览器不支持,最终的方案是采用服务器端控制,页面会做一个隐藏域,url上不带,发送到服务器端的请求没有隐藏域的就拒绝。