2008-09-24 88 views
3

我有一个应用程序需要打开一个新窗口(在同一个域中),以便用户可以查看报告,但在某些浏览器上*新窗口不共享原始窗口的非持久性cookie,导致用户必须再次登录。有什么可以阻止用户在新窗口中重新登录吗? *实际上,在IE7中它是零星的 - 有时候新窗口会共享cookie,有时候不会。如何让两个浏览器窗口共享相同的“会话”?

+0

您使用的是哪种服务器端技术? – EndangeredMassa 2008-09-24 21:29:20

回答

1

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

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

+0

谢谢。那个博客总结了我的问题。我认为我的解决方案必须是在iframe中启动报告或为报告使用永久性Cookie。 – stucampbell 2008-09-26 10:17:30

0

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

3

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

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

1

我正在使用ASP.NET,并依靠跨浏览器窗口共享会话的行为,它正在为我工​​作。事实上,我甚至使用它的原因与你在新窗口中显示报告:)

0

它可能与你如何打开窗口有关 - JavaScript与目标标签?

相关问题