IE10 User-Agent导致ASP.Net不发回Set-Cookie(IE10未设置cookie)

isN*_*247 91 asp.net internet-explorer

摘要

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

详情

我们目前正在针对IE 10 [预览2]测试我们的一个遗留Web应用程序.

当尝试使用Forms身份验证登录时,Set-Cookie如果用户代理是IE 10,我们在响应中没有得到标题.我们尝试使用空白.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
Run Code Online (Sandbox Code Playgroud)

上述HTTP请求Set-Cookie在响应中返回no .然而,如果我们只是将User-Agent更改为Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)有效!

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

修复

devio发布原始答案后,通过解决方法,nullptr确认现在有一个修补程序.

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

我已经将修补程序提升为主要问题,因为它对于将来的参考只是更方便,但请对所提到的用户进行投票.

Dav*_*ter 71

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

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

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

Cookie的= "UseCookies"

<authentication mode="Forms">
  <forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

  • 修复了IE10的问题 (3认同)

dev*_*vio 66

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>
Run Code Online (Sandbox Code Playgroud)

  • 哦,我的...这有点像一个错误 - 我非常怀疑所有的ASP.Net网站都会在IE10发布之前修补. (7认同)
  • 谢谢你.它帮助我开始使用我们的应用程序进行兼容性测试.一开始很难知道它是我们的应用程序还是测试版,但是有一个解决方法让我们高效 (2认同)

Der*_*ger 33

有一个针对此问题的修补程序[1].

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

此外,[2]表明这将在2012年1月发布Windows Update.

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

  • 还是一个bug 04/2013 - wtf? (12认同)
  • 非常好,谢谢你 - 我已经提升了问题主体的链接,以供将来参考. (3认同)
  • 确认.截至目前(2012年8月),它仍然是一个错误.我将尝试修补程序. (2认同)