论坛首页 Java企业应用论坛

IE7下不同用户会共享同一个session会话的问题

浏览 45254 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-01  
多个tab页使用同一session是合理的,要不然每打开一个tab就要用户重新登陆?你愿意?还是你的用户愿意?
要求不同tab页不同用户,从根上就错了。
这种要求不是不能实现,也没什么难度(反正难度大的方式我是没想到,看了前面的回帖,做法也基本类似),无非就是工作量大点。
楼主比较一下投入产出取舍一下吧。
0 请登录后投票
   发表时间:2007-07-03  
多网页浏览器在标签页中新开的窗口都是共享一个session
如同在ie运行时使用Ctrl+n打开的新窗口一样
0 请登录后投票
   发表时间:2007-07-03  
newroc 写道
多个tab页使用同一session是合理的,要不然每打开一个tab就要用户重新登陆?你愿意?还是你的用户愿意?
要求不同tab页不同用户,从根上就错了。
这种要求不是不能实现,也没什么难度(反正难度大的方式我是没想到,看了前面的回帖,做法也基本类似),无非就是工作量大点。
楼主比较一下投入产出取舍一下吧。


正常情况是这样打开的tab是同一个session,然后可以登录第二个用户,且tab页间互相不影响,这位同学话说得蛮大,意思理解到位了?

而且携带sessionid的做法,在实际操作中工作应该很小才对,难道各位都直接使用html页面不成。
0 请登录后投票
   发表时间:2007-07-06  
jianfeng008cn 写道
newroc 写道
多个tab页使用同一session是合理的,要不然每打开一个tab就要用户重新登陆?你愿意?还是你的用户愿意?
要求不同tab页不同用户,从根上就错了。
这种要求不是不能实现,也没什么难度(反正难度大的方式我是没想到,看了前面的回帖,做法也基本类似),无非就是工作量大点。
楼主比较一下投入产出取舍一下吧。


正常情况是这样打开的tab是同一个session,然后可以登录第二个用户,且tab页间互相不影响,这位同学话说得蛮大,意思理解到位了?

而且携带sessionid的做法,在实际操作中工作应该很小才对,难道各位都直接使用html页面不成。

不知这位同学有没有详细阅读前面的帖子,如果能如你所说,前面的各位的文字就毫无意义了。
ps.请您到网易使用两个用户同时登录看看效果。
0 请登录后投票
   发表时间:2007-07-07  
有结论了吗
0 请登录后投票
   发表时间:2007-07-14  
大家好,我是个新手,提供一个解决办法,不知道行不行。如有错误,请原谅我的冒失。
1、先在运行环境的后台配置session有效期,确保当用户关闭浏览器时该浏览器注册的session被有效注销
2、在用户的帐号、密码验证通过后,加入一段代码注册一个session,表示该浏览器有用户登录,例如PHP中的代码$_session["login"]="yes";
3、在处理验证用户帐号、密码的页面的最开始处,写一段是否该浏览器有用户登录的验证代码,例如if($_session["login"] == "yes")
如果有,则表示该浏览器有用户登录,提示用户不能进行登录操作
如果没有,则用户可以进入下面的帐号、密码验证流程,并正常登录
注:我只了解PHP,不过我想JAVA和PHP在session上应该是差不多的
0 请登录后投票
   发表时间:2007-07-15  
还有另外一种解决办法:

在当前窗口文档的JavaScript环境中存一个sessionid的副本,并在body的onFocus事件中执行document.cookie="[session_name]=[session_id]"。

这样,不论是选项卡窗口还是新窗口,浏览器Cookie中的sessionid都会被重新设置为当前文档(窗口)的SID。SID恢复了,服务器端会话环境就自然恢复了。

但是这仍然需要修改原始程序。

如果是PHP,可以通过配置session.use_trans_sid为true,让PHP自动在URL中透明地添加SessionID,就不用修改源程序了。
0 请登录后投票
   发表时间:2007-07-16  
如果上面的问题解决了,那用户再打开一个tab,并且在地址栏里输入URL地址访问某个特别的页面,怎么办?是显示还是拒绝?如果显示,显示谁的?
0 请登录后投票
   发表时间:2007-07-16  
另外,楼主说这个应用,如果tomcat关闭cookie就不能正常工作,我是不是能理解成每个request的header中都包含cookie信息?
0 请登录后投票
   发表时间:2007-07-18  
flxi78 写道
如果上面的问题解决了,那用户再打开一个tab,并且在地址栏里输入URL地址访问某个特别的页面,怎么办?是显示还是拒绝?如果显示,显示谁的?

一直以来我没有逆向去思考过这个问题,flxi78的疑问应该解释了浏览器为什么不支持多选项卡多用户会话跟踪的原因,如果是这样的话,那我们应该讨论的问题就是怎样防止用户利用不同选项卡进行多用户登陆以规避该设计带来的潜在的风险,各位的看法如何?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics