session覆盖问题

palgerrard 2010-04-10 09:08:16
相信这个问题很多人都碰过。同一个IE浏览器的选项卡是共享session的。所有的firefox都只有一个进程,也共享session。如果用两个用户登陆系统。会产生session覆盖的问题。一般我是把登陆用户的信息保存在session中,session.setAttribute("visitor",user);。那后登陆的用户session中的visitor就覆盖了前一个用户的!!!

但是QQ空间是可以登陆两个的啊,那是怎样处理的?难道用户信息不存在session中?还是有什么特殊的处理方法可以让新登陆的用户new 一个session的实例(从session的原理来说似乎不太可能)并关联起来?
...全文
857 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
等待守护 2012-06-20
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 的回复:]
引用 23 楼 zys2419740 的回复:
很有建设性的问题!但是想在论坛里解决不太容易


不是不可能,是已经有了解决方案了,并且已经成功的运用了.........

但这个解决方案一般不会对外开放的,属于技术供应商的赚钱手段.........
[/Quote]透露点呗
a382256612 2011-12-14
  • 打赏
  • 举报
回复
可以保存在request中吗?再用个常量键。
SZZP 2010-08-03
  • 打赏
  • 举报
回复
"令牌存在SESSION中,"—— session都被覆盖了,令牌还完乎?

[Quote=引用 20 楼 injuer 的回复:]
使用令牌技术可以解决数据被覆盖的情况..........

这是目前我发现的比较好的解决方案了,弄的我头昏..........

令牌存在SESSION中,用的时候去出来,用完了再放回去,保证一个用户只有一块令牌,只认令牌不认SESSION......
[/Quote]
xiechunmei13 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 injuer 的回复:]

引用 23 楼 zys2419740 的回复:
很有建设性的问题!但是想在论坛里解决不太容易


不是不可能,是已经有了解决方案了,并且已经成功的运用了.........

但这个解决方案一般不会对外开放的,属于技术供应商的赚钱手段.........
[/Quote]

那就给小弟小妹们一点思考方向呗?
困惑。。。。
xiechunmei13 2010-05-14
  • 打赏
  • 举报
回复
我也遇到过这样的问题 ,在IE8上会出现这种情况,我在网上查了,说这是IE8的机制,我也想解决,但是一直没有找到解决方案。http://topic.csdn.net/u/20100514/10/c85af236-3f1d-454c-a971-a1f5d75a78be.html?seed=1065320488&r=65432242#r_65432242
palgerrard 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 injuer 的回复:]

不是不可能,是已经有了解决方案了,并且已经成功的运用了.........

但这个解决方案一般不会对外开放的,属于技术供应商的赚钱手段.........
[/Quote]
能不能稍微透露点啊??
injuer 2010-04-17
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 zys2419740 的回复:]
很有建设性的问题!但是想在论坛里解决不太容易
[/Quote]

不是不可能,是已经有了解决方案了,并且已经成功的运用了.........

但这个解决方案一般不会对外开放的,属于技术供应商的赚钱手段.........
zys2419740 2010-04-17
  • 打赏
  • 举报
回复
很有建设性的问题!但是想在论坛里解决不太容易
injuer 2010-04-17
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 archko 的回复:]
表告诉我你用IE6,好像前面的版本都是不共享的,IE8共享.
[/Quote]

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

archko 2010-04-14
  • 打赏
  • 举报
回复
表告诉我你用IE6,好像前面的版本都是不共享的,IE8共享.
injuer 2010-04-14
  • 打赏
  • 举报
回复
使用令牌技术可以解决数据被覆盖的情况..........

这是目前我发现的比较好的解决方案了,弄的我头昏..........

令牌存在SESSION中,用的时候去出来,用完了再放回去,保证一个用户只有一块令牌,只认令牌不认SESSION......
dobe1987 2010-04-12
  • 打赏
  • 举报
回复
QQ空间貌似不能登录两个的吧?LZ你在仔细看看
bjxyj 2010-04-12
  • 打赏
  • 举报
回复
这个问题值得关注。帮顶。在分析中。。。。。
gaoyangboy 2010-04-12
  • 打赏
  • 举报
回复
问题是出在浏览器上了,如果你是用的ie8的话,那么你要点击文件,新建会话才行。
按正常的情况是不会出现这种情况的
palgerrard 2010-04-12
  • 打赏
  • 举报
回复
自己顶起来
Silence_Smile 2010-04-11
  • 打赏
  • 举报
回复
mark,的确有这个问题
palgerrard 2010-04-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhoutongxiaoxi 的回复:]
不会冲突的 ,不信你可以试试, 我已经试过了 ,先登录权限小的,然后我登录权限大的用户, 他们2 还是分开的 每个登录用户 都会有一个自己sessionid 的
[/Quote]
我试过了,session是会覆盖的。可能你的系统是处理过了的....IE的选项卡,火狐的任意窗口(同一个浏览器进程),它们都是共享sesson的。
palgerrard 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wujianhai99 的回复:]
或者就是查看有没有session
有的话,就新建一个别的session
这个起名是有规律的
[/Quote]
没那么简单....
palgerrard 2010-04-10
  • 打赏
  • 举报
回复
关键是cookie也是共享的啊。就是应为session将sessionid保存在cookie 中,服务器读取cookie中存放的sessionid来识别session,所以我认为cookie肯定是不行的。
海子尘 2010-04-10
  • 打赏
  • 举报
回复
或者就是查看有没有session
有的话,就新建一个别的session
这个起名是有规律的
加载更多回复(10)

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧