如何让两个浏览器窗口共享相同的“会话”?

时间:2008-09-24 21:12:23

标签: session browser

我有一个需要打开一个新窗口(在同一个域中)的应用程序,因此用户可以查看报告,但在某些浏览器上*新窗口不共享原始窗口的非持久性cookie,这导致用户必须再次登录。有什么办法可以阻止用户在新窗口中再次登录吗?

*事实上,在IE7中它是零星的 - 有时新窗口共享cookie,有时不共享。

5 个答案:

答案 0 :(得分:3)

我认为IE7在同一窗口中共享了带有选项卡的非持久性cookie,以及从当前窗口生成的窗口(无论是否与手动打开相同,如File-> New或编程脚本打开,我不确定),但新鲜的实例没有。

Firefox在所有窗口中共享它们,无论它们是如何打开的。我一直认为这就是它的方式,你必须使用持久性cookie,无cookie会话,或者开发一种单点登录/票务机制来解决它。

答案 1 :(得分:1)

我正在使用ASP.NET并依赖于跨浏览器窗口共享的会话行为,这对我有用。事实上,我甚至使用它的原因与您在新窗口中显示报告的原因相同:)

答案 2 :(得分:1)

IE7似乎确实使用与IE6不同的算法生成新进程,并且可能导致session cookies出现问题。

最可靠的解决方案可能是围绕它构建 - 使用无cookie会话,持久性cookie或只是序列化页面中所需的数据。

答案 3 :(得分:0)

他们应该共享Cookie。这是我过去的经历。一旦我玩完了,我就会编辑。

答案 4 :(得分:0)

是否与您打开窗户的方式有关,例如 - JavaScript与目标代码?