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)
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)
Der*_*ger 33
有一个针对此问题的修补程序[1].
1)http://support.microsoft.com/kb/2600088
1)http://support.microsoft.com/kb/2600217(替换以前的KB)
此外,[2]表明这将在2012年1月发布Windows Update.
归档时间: |
|
查看次数: |
47793 次 |
最近记录: |