如何使两个浏览器窗口共享相同的"会话"?
时间:2020-03-06 14:41:24 来源:igfitidea点击:
我有一个需要打开新窗口(在同一个域中)的应用程序,以便用户可以查看报告,但是在某些浏览器上*,新窗口不会共享原始窗口的非持久cookie,这会导致用户必须再次登录。我有什么办法可以阻止用户再次在新窗口中登录?
*实际上,在IE7中,偶尔会出现新窗口共享cookie(有时不是)的情况。
解决方案
他们应该共享Cookie。那是我过去的经验。玩完之后我会编辑。
我以为IE7会在同一窗口以及从当前窗口生成的窗口中共享带有选项卡的非持久cookie(无论对于File-> New之类的手动打开还是程序化脚本打开,这是否相同我不确定),但是没有新实例。
Firefox会在所有窗口中共享它们,而不管它们是如何打开的。我一直以为这就是它的样子,并且我们必须使用持久性cookie,无cookie会话或者开发单一的登录/票务机制来解决此问题。
我正在使用ASP.NET,并依赖在浏览器窗口之间共享会话的行为,因此它对我有用。实际上,出于与我们在新窗口中显示报告相同的原因,我什至会使用它:)
可能与我们如何打开窗户有关,例如JavaScript与目标代码?
IE7似乎确实使用与IE6不同的算法来生成新进程,并且可能导致会话cookie问题。
最可靠的解决方案可能是通过无cookie会话,持久性cookie或者只是序列化页面中所需的数据来围绕它进行架构。