Asp.net mvc IE11不发送会话cookie

Asp.net mvc IE11不发送会话cookie,asp.net-mvc,cookies,internet-explorer-11,saml-2.0,Asp.net Mvc,Cookies,Internet Explorer 11,Saml 2.0,我有一个新部署在客户机内部网络上的网站。我只能通过Windows Server 2012上的远程桌面进行测试 网站执行SAML身份验证:浏览器首先从网站接收会话cookie,然后重定向到SAML身份提供程序,然后返回到带有SAML响应的网站,并在那里返回会话cookie。这在Chrome上运行良好,但由于某些原因IE11不会发回会话cookie,这会阻止服务器接受SAML身份验证 我不知道为什么IE11无法发送会话cookie。我已经在调试工具中的网络窗格中进行了检查,并且我确实得到了cooki

我有一个新部署在客户机内部网络上的网站。我只能通过Windows Server 2012上的远程桌面进行测试

网站执行SAML身份验证:浏览器首先从网站接收会话cookie,然后重定向到SAML身份提供程序,然后返回到带有SAML响应的网站,并在那里返回会话cookie。这在Chrome上运行良好,但由于某些原因IE11不会发回会话cookie,这会阻止服务器接受SAML身份验证

我不知道为什么IE11无法发送会话cookie。我已经在调试工具中的网络窗格中进行了检查,并且我确实得到了cookie(尽管我无法确认IE是否确实存储了cookie):

Set Cookie ASP.NET_SessionId=yzk4rdznlg534so2xuxqmuv4;路径=/;HttpOnly

然后我被重定向到身份提供者,但是当我回到网站时,它不会发送cookie。cookie仅为HTTP,因此我无法在控制台中检查它是否已存储。我使用发布的说明查看存储的cookie,但我在任何时候都看不到我的网站的cookie(尽管重定向发生得很快,所以可能会在我有机会看到它之前添加并删除它)

我还相信我已经探索了所有可能的安全和隐私设置,以允许一切,但没有任何效果

如果很重要,站点URL没有点(它是
https://mmr-pp_sef/


你知道我如何排除正在发生(或没有发生)的故障吗?

事实证明,这与所使用的URL有关(我应该早点检查自己,而不是在我的问题中指出URL很奇怪)

显然,如果主机名中有下划线
,IE将不会存储cookie。这可以通过修改“主机”文件进行验证:

  • 打开文件C:\Windows\System32\drivers\etc\hosts(您需要管理员权限)
  • 在末尾添加此行并保存文件:

    127.0.0.1 test_site
    
  • 在浏览器中输入URL(假定web服务器侦听127.0.0.1)

  • 注意IE不会储存任何饼干

  • 目前我唯一的解决办法是使用另一个不包含下划线的主机名,例如
    测试站点

    您是否处于IE11的兼容模式?我没有对此做任何处理,但如何验证我没有?在iFrame中是否有这种情况?IE默认不喜欢第三方cookies。@vap78否,此页上没有iframe。我(显然)仍然有兴趣了解发生了什么,但实际上我正在转移到其他方面,因为客户告诉我最终用户永远不会使用internet explorer,所以这个错误不需要修复。。。