我有一个需要打开一个新窗口(在同一个域中)的应用程序,因此用户可以查看报告,但在某些浏览器上*新窗口不共享原始窗口的非持久性cookie,这导致用户必须再次登录。有什么办法可以阻止用户在新窗口中再次登录吗?
*事实上,在IE7中它是零星的 - 有时新窗口共享cookie,有时不共享。
答案 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与目标代码?