有一次做权限管理的时候碰到了这个IE8Session共享的问题,当时眉头紧凑,搞不定还以为自己哪个地方没处理好。弄了好长时间问了同事才发现是这个问题导致的。同事给的解释如下:
由于IE7,IE8的Session管理有很大变化,这是Web开发者需要注意的:
IE7中,同一个窗口(IE 进程)共享一个session。
IE8中,所有打开的IE窗口(IE 进程)共享一个session。除非,用户通过菜单 File > New session 打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。 另外,当所有IE窗口被关闭后,session 结束。
这个问题的关键是,cookie在不同的IE进程间是否共享,有些COOKIE是完全共享的,有的作用域只能局限于单个进程。因为cookie中保存着你的sessionid它被服务器用来决定是否应该生成的新的session。
Session默认情况下是以cookie内存储的sessionId作为识别标志,而cookie在浏览器之间独立的。所以如果是同一个浏览器不管开多少个窗口,都只有一个Session。
解决在IE8浏览器中测试时session共享问题:
1、在IE8的快捷方式的目标栏中添加-nomerge,再打开IE时就不会共享同一个session了,推荐这种方法。
2、或使用命令行参数 iexplore.exe -nomerge 来打开IE。
这个解释来自 “暴龙”。