【问题标题】:IE10 User-Agent causes ASP.Net to not send back Set-Cookie (IE10 not setting cookies)IE10 User-Agent 导致 ASP.Net 不发回 Set-Cookie(IE10 不设置 cookie)
【发布时间】:2011-10-22 11:04:01
【问题描述】:

总结

在使用 IE 10 时,ASP.Net 不会发回 Set-Cookie 标头。这意味着例如,在使用表单身份验证时,您无法使用 IE10 登录到 ASP.Net 站点。

详情

我们目前正在针对 IE 10 [Preview 2] 测试我们的一款旧版网络应用程序。

尝试使用表单身份验证登录时,如果用户代理是 IE 10 的用户代理,我们不会在响应中获得 Set-Cookie 标头。我们已经尝试使用空白的 .Net 2 和 .Net 4网站。

因为我们无法/不会相信,我们甚至通过telnet 手动运行了以下 HTTP 请求 - 在使用了所有常用工具之后 - 并得到了相同的响应。

GET http://test.ourdomain.co.uk/ HTTP/1.1
Accept: */*
Host: test.ourdomain.co.uk
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Content-Length: 0

上述 HTTP 请求在响应中没有返回 Set-Cookie。然而,如果我们简单地将 User-Agent 更改为 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0) 就可以了!

其他人可以复制吗?除了影响非标准 URL 模式的问题之外,我找不到任何 IE10 cookie 的已知问题。

修补程序

devio 发布原始答案后,nullptr 已确认现在有一个 hotfix for this

http://support.microsoft.com/kb/2600088

我已将修补程序推广到主要问题,因为它更方便将来参考,但请对提到的用户进行投票。

【问题讨论】:

  • 注意 - 上面的例子是我们在 get 请求上设置一个 cookie(使用 Response.SetCookie())
  • 使用 browserCaps 的另一种可能解决方案:stackoverflow.com/a/13474958/1191905
  • 我们是否将热修复应用到 IIS 或客户端计算机?
  • @magic-c0d3r 这是 .NET 本身的修补程序,因此应应用于托管 IIS 的机器(即 Web 服务器)
  • .NET 2.0/3.5 的修补程序也可能感兴趣:support.microsoft.com/kb/2600100

标签: asp.net internet-explorer


【解决方案1】:

问题在于一些 IIS 实例认为 IE10 是无 cookie 浏览器(即不能支持 cookie)。在我们的问题案例中,服务器正在设置身份验证 cookie 并将其发送回浏览器,但随后在后续请求中忽略了 cookie。

解决方案是修补浏览器功能,使其知道 IE10 可以执行 cookie(在本页的另一个答案中概述),或者更改默认行为以强制它使用 cookie,即使它认为浏览器不能做饼干。

我们刚刚在 web.config 的表单部分中添加了以下内容:

cookieless="UseCookies"

<authentication mode="Forms">
  <forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" />
</authentication>

【讨论】:

  • 解决了我们的 IE10 问题
  • 在尝试了其他解决方案,并且修复程序拒绝安装说它与我们的服务器不兼容后,我尝试了这个。这是为我们解决问题的唯一方法。
  • 我所要做的就是调整 Web.config 以立即看到结果。太棒了
  • 我认为这是正确的答案。正在设置 cookie,因此在提琴手中一切看起来都很好,并且 ASP.NET 能够很好地读回它(当我设置测试页面时),但 Forms Auth 忽略了它。这是 Forms Auth 的一个严重限制,但您的修复使它像往常一样工作!
  • 这是一个比 IIS 打补丁更好、更可靠的解决方案。
【解决方案2】:

MS Connect 上找到此条目,该行为是公认的错误。

建议的解决方法(来自条目):

== 解决方法 ==

同时使其正常工作并避免在 未来,我使用文件 ~\App_Browsers\BrowserFile.browser 与 以下:

<browsers>
<browser refID="Default">
<capabilities><!-- To avoid wrong detections of e.g. IE10 -->
<capability name="cookies" value="true" />
<capability name="ecmascriptversion" value="3.0" />
</capabilities>
</browser>
</browsers>

【讨论】:

  • 哦,天哪...这是一个小错误 - 我非常怀疑所有 ASP.Net 网站都会在 IE10 发布时进行修补。
  • 感谢您。它帮助我开始与我们的应用程序进行兼容性测试。一开始很难知道它是我们的应用还是测试版,但有一个解决方法让我们高效
  • 这适用于 IE10/Win8,但不适用于 IE10/Win7。很奇怪。
  • 我很惊讶这对某些人有用,因为它不适合我。请参阅下面的 cookieless="UseCookies" 答案,了解我认为更具前瞻性和稳健性的替代解决方案。
【解决方案3】:

此问题有可用的修补程序[1]。

1) http://support.microsoft.com/kb/2600088
1) http://support.microsoft.com/kb/2600217(替换之前的 KB)

此外,[2] 表明这将在 2012 年 1 月出现在 Windows 更新中。

2)http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

【讨论】:

  • 太棒了,谢谢您 - 我已将链接推广到问题的主体以供将来参考。
  • 确认。截至目前(08/2012),它仍然是一个错误。我会试试这个修补程序。
  • 仍然是一个错误 04/2013 - wtf?
  • 即使我们更新了 KB 修补程序,我们仍然遇到此问题。我还将浏览器文件添加到 Web csproj。似乎都没有帮助。有什么帮助,是我们在“受信任的站点”对话框中添加了一个“站点”。现在,我们在单点登录时从市场应用程序重定向 IFrame。我假设有一种侵入性较小的方法来处理此重定向,但文档似乎对此事有限。
【解决方案4】:

感谢您的帮助。没用。

  1. 我从site 复制了文件 给C:\WINDOWS\microsoft.net\Framework\v2.0.50727\CONFIG\Browsers

  2. 运行命令提示符C:\WINDOWS\microsoft.net\Framework\v2.0.50727&gt;aspnet_regbrowsers.exe -i

  3. 重新启动 IIS。

  4. 对该网站进行了测试,它可以正常工作。

再次感谢您的反馈

【讨论】:

    【解决方案5】:

    nullptr 答案的更新。

    我今天尝试下载 Microsoft KB2600088。通过电子邮件收到链接后,我点击了它,然后它引导我进入说它不再可用的页面。

    试试这个:http://support.microsoft.com/kb/2600217

    该链接是 KB2600088 和 KB2628838 的替代品。

    MIcrosoft .Net Framework 4.5 现已推出。

    【讨论】:

    • 感谢您发布此更新。我在使用此链接support.microsoft.com/kb/2600088 时遇到问题,主要是因为我服务器上的 IE 没有正确显示页面。您的更新对我帮助很大。
    【解决方案6】:

    安装了每个人都提到的各种补丁,无论出于何种原因,问题都没有解决。

    安装了 .NET Framework 4.5 Full,问题就消失了。

    您不必将任何项目更新到目标 4.5。只需将其安装在服务器上即可。

    【讨论】:

      猜你喜欢
      • 2013-03-29
      • 2016-08-23
      • 2013-03-15
      • 2013-07-08
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 2018-11-12
      • 2013-04-04
      相关资源
      最近更新 更多