相信这个问题很多人都碰过。同一个IE浏览器的选项卡是共享session的。所有的firefox都只有一个进程,也共享session。如果用两个用户登陆系统。会产生session覆盖的问题。一般我是把登陆用户的信息保存在session中,session.setAttribute("visitor",user);。那后登陆的用户session中的visitor就覆盖了前一个用户的!!!但是QQ空间是可以登陆两个的啊,那是怎样处理的?难道用户信息不存在session中?还是有什么特殊的处理方法可以让新登陆的用户new 一个session的实例(从session的原理来说似乎不太可能)并关联起来?

解决方案 »

  1.   

    一个妥善的方法是第二个用户登录后。第一个用户操作时提示session失效,需重新登录。但是能不能真正实现一个浏览器的两个选项卡中登录两个用户呢??
      

  2.   

    或者就是查看有没有session
    有的话,就新建一个别的session
    这个起名是有规律的
      

  3.   

    关键是cookie也是共享的啊。就是应为session将sessionid保存在cookie 中,服务器读取cookie中存放的sessionid来识别session,所以我认为cookie肯定是不行的。
      

  4.   

    不会冲突的 ,不信你可以试试, 我已经试过了 ,先登录权限小的,然后我登录权限大的用户, 他们2 还是分开的 每个登录用户 都会有一个自己sessionid 的
      

  5.   

    我试过了,session是会覆盖的。可能你的系统是处理过了的....IE的选项卡,火狐的任意窗口(同一个浏览器进程),它们都是共享sesson的。
      

  6.   

    QQ空间貌似不能登录两个的吧?LZ你在仔细看看
      

  7.   

    使用令牌技术可以解决数据被覆盖的情况..........这是目前我发现的比较好的解决方案了,弄的我头昏..........令牌存在SESSION中,用的时候去出来,用完了再放回去,保证一个用户只有一块令牌,只认令牌不认SESSION......
      

  8.   

    表告诉我你用IE6,好像前面的版本都是不共享的,IE8共享.
      

  9.   


    IE7打了补丁后就开始选项卡共享SESSION了.............
      

  10.   

    我也遇到过这样的问题 ,在IE8上会出现这种情况,我在网上查了,说这是IE8的机制,我也想解决,但是一直没有找到解决方案。http://topic.csdn.net/u/20100514/10/c85af236-3f1d-454c-a971-a1f5d75a78be.html?seed=1065320488&r=65432242#r_65432242
      

  11.   

    "令牌存在SESSION中,"—— session都被覆盖了,令牌还完乎?
      

  12.   

    可以保存在request中吗?再用个常量键。