Web应用程序在Internet Explorer中不起作用

时间:2015-03-05 20:22:36

标签: session cookies internet-explorer-11

我的应用程序在Chrome,Firefox,Safari和Opera上运行良好,但在Internet Explorer 11上失败(我还没有尝试过早期版本)。基本上,我发现我无法登录。我已将问题缩小到cookie的问题。在登录尝试时,我很好地接通了服务器,响应与任何其他浏览器完全相同。但无论出于何种原因,即使设置了Set-Cookie标头,也不会保存cookie并在下次请求时将其发送到服务器。我的应用程序有(大部分)RESTful后端,因此对大多数请求进行身份验证。这显然是失败的,因为没有设置cookie!

无论是从localhost还是从真实服务器提供,此问题仍然存在。我应该提一下, 是一个交叉来源请求,但是正确的标题已经存在(并且它们适用于其他浏览器)

响应标头(从localhost提供时)如下:

Response    HTTP/1.1 200 OK
Access-Control-Allow-Credentials    true
Access-Control-Allow-Headers    accept, content-type
Access-Control-Allow-Methods    POST, PATCH, DELETE
Access-Control-Allow-Origin http://localhost:8000
Cache-Control   no-cache,no-store
Content-Length  68
Content-Type    application/json
Date    Thu, 05 Mar 2015 20:00:20 GMT
Frame-Ancestors none
Server  waitress
Set-Cookie  session-id=ZqANyJ4KRUFoOaVgtGs/hcX+fxjMcCVM0kdRqF4riHglfAeBJJK56X9wn0XsNdPwUg; Domain=; HttpOnly;
Strict-Transport-Security   max-age=31536000;
X-Frame-Options deny

我无法弄清楚为什么这不仅仅适用于IE11!该应用程序不在iframe中,当我点击网络请求时,cookie实际上会出现在IE开发人员工具的Cookie标签中,但随后不会随后一起发送。

我尝试的一些解决方案是:

  • 添加Cache-Control标题
  • 从Cookie中删除HttpOnly标志
  • Domain标记添加到Cookie(设置为localhost127.0.0.1
  • 删除X-Frame-OptionsFrame-AncestorsStrict-Transport-Security
  • 等标头
  • 尝试过多台计算机
  • 更改安全设置以接受所有Cookie

全部失败。想法?

0 个答案:

没有答案