0

我在 IE 9 中遇到了这个奇怪的问题。我有一个允许用户登录的网站,也可以在后台使用 Web 服务通过单独的网站登录。登录后,会创建一个 cookie。在 fiddler 中,我可以看到用户已经从第三方网站登录到我的网站并创建了 cookie。第三方站点进行 ajax 调用,并在我的域中创建了 cookie。

但是,当我从第三方站点单击指向我的站点的链接时,登录页面会再次显示。我编写了一个调试代码,在页面中声明该 cookie 不存在,但我可以在 IE 设置中看到该 cookie 确实存在。cookie 将在 24 小时后过期。

我如何解决它?顺便说一句,它在大多数其他浏览器中都能正常工作,包括 IE8、IE7、Chrome。

这类似于 - IE9 为第三方请求单独的 cookie - 但那里没有响应。

4

1 回答 1

0

IE 9+ 中引入了一个限制。它隔离不同的区域以访问彼此的数据。例如,如果在 example.com 中为 domain:example.com 创建了一个 cookie,如果它们的区域不同(一个是 Intranet,一个是受信任的,等等),a.example.com 就无法访问该 cookie。您可以在 Internet 选项 -> 安全选项卡中检查区域。

有关更多信息,请查看跨区域场景中的 Cookie 共享

于 2013-05-02T04:12:56.403 回答