[英]IE10 User-Agent causes ASP.Net to not send back Set-Cookie (IE10 not setting cookies)
摘要
使用IE 10時,ASP.Net不會發回Set-Cookie
標頭。例如,在使用表單身份驗證時,您無法使用IE10登錄到ASP.Net站點。
詳情
我們目前正在針對IE 10 [預覽2]測試我們的一個遺留Web應用程序。
當嘗試使用Forms身份驗證登錄時,如果用戶代理是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確認現在有一個修補程序 。
http://support.microsoft.com/kb/2600088
我已經將修補程序提升為主要問題,因為它對於將來的參考只是更方便,但請對所提到的用戶進行投票。
問題在於一些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>
在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>
有一個針對此問題的修補程序[1]。
1)
http://support.microsoft.com/kb/2600088
1) http://support.microsoft.com/kb/2600217 (替換以前的KB)
此外,[2]表明這將在2012年1月發布Windows Update。
謝謝你的幫助。 它沒有用。
我將文件從站點復制到C:\\WINDOWS\\microsoft.net\\Framework\\v2.0.50727\\CONFIG\\Browsers
在命令提示符下運行C:\\WINDOWS\\microsoft.net\\Framework\\v2.0.50727>aspnet_regbrowsers.exe -i
重新啟動IIS。
測試了網站,它沒有任何錯誤。
再次感謝你的反饋
nullptr答案的更新。
我今天嘗試下載Microsoft KB2600088。 通過電子郵件收到鏈接后,我點擊它然后它會引導我顯示它已不再可用的頁面。
試試這個: http : //support.microsoft.com/kb/2600217
該鏈接是KB2600088和KB2628838的替代品。
MIcrosoft .Net Framework 4.5現已上市。
安裝了每個人都提到的各種補丁,無論出於何種原因,問題都沒有得到解決。
安裝了.NET Framework 4.5 Full,問題就消失了。
您不必將任何項目更新為目標4.5。 只需將其安裝在服務器上即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.