IE中的标签页之间不一致共享Cookie



遇到了一个相当奇怪的问题,我相信这是浏览器设置的问题,所以虽然这不是严格意义上的编程问题,但我想知道这里的人是否在开发工作中遇到过这个问题,并能提出解决方案/原因。

我的应用程序是MVC 2,运行一个中央菜单系统,其中包含指向实际应用程序屏幕的链接,所有屏幕都有target="_blank",因此可以在新窗口或新选项卡中打开,这取决于用户通过浏览器设置的偏好。这一切在我们使用的每一个系统上都很好,除了一个新系统-我们正在设置一个新的Citrix桌面,在测试它时会出现奇怪的行为。我们可以登录、确定并浏览菜单,但当我们点击菜单链接时,90%的时间新链接都会打开,并发出登录挑战,就好像浏览器不再有会话cookie一样。然而,当我们回到主选项卡时,我们仍然处于登录状态,可以很好地在菜单中导航。另一件非常奇怪的事情是,有时我可以在新的选项卡中加载一个屏幕ok并运行它,但随后从菜单中再次打开它失败,我们再次面临登录挑战。一旦我登录到一个新的选项卡,其余的都会很好地打开,这甚至更奇怪。

我猜这是某种选项卡隔离设置,但它似乎并不总是有效。如果有一个是已知的有点bug?浏览器是IE 8,我们在所有其他系统上都使用它,很好。任何可能导致这种情况的组策略设置,因为它发生在我们正在测试的用户登录上,但不是我的-我正在等待我们的网络管理员就管理员和用户之间的任何GP差异回复我,但我想我会在这里问,以防他看不到任何明显的东西。

干杯-MH

事实证明这是一个IE错误(这并不奇怪)——当浏览器在新的工作进程中产生一个新的选项卡时,新进程无法访问会话cookie。其他一些人已经发现了这一点,停止新流程的产生,尽管不是一个很好的解决方案,但似乎可以解决这个问题。请注意,这个问题也发生在雅虎网站和所有其他使用会话cookie的网站上。真的不确定是哪种事件和情况的组合触发了这一点(在我们的系统上,它只针对非管理员用户-我们已经查看了GPO规则,但没有发现任何明显的东西),但我认为MS真的需要修复它,因为如果它开始更频繁地触发,它可能会完全削弱IE。

这里有一个链接,可以暂时绕过这个问题,如果你自己也受到了影响。

http://blogs.msdn.com/b/askie/archive/2009/03/09/opening-a-new-tab-may-launch-a-new-process-with-internet-explorer-8-0.aspx

最新更新