3

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

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

4

5 回答 5

3

我认为 IE7 与同一窗口中的选项卡共享非持久性 cookie,以及从当前窗口生成的窗口(无论这对于手动打开文件 - > 新建或程序脚本打开是否相同,我我不确定),但新的实例没有。

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

于 2008-09-24T21:23:02.450 回答
1

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

于 2008-09-24T21:23:26.317 回答
1

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

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

于 2008-09-24T21:29:23.293 回答
0

他们应该共享 cookie。这是我过去的经验。有戏后我会编辑。

于 2008-09-24T21:19:25.843 回答
0

它是否与您打开窗口的方式有关,例如 - JavaScript 与目标标签?

于 2008-09-24T21:28:06.103 回答