요약
ASP.Net은 Set-Cookie
IE 10을 사용할 때 헤더를 다시 보내지 않습니다. 예를 들어 폼 인증을 사용할 때 IE10을 사용하여 ASP.Net 사이트에 로그인 할 수 없다는 의미입니다.
세부 묘사
현재 IE 10 [미리보기 2]에 대해 기존 웹 앱 중 하나를 테스트하고 있습니다.
양식 인증을 사용하여 로그인을 시도 할 때 Set-Cookie
user-agent가 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
위의 HTTP 요청 Set-Cookie
은 응답에서 no 를 반환합니다 . 그러나 사용자 에이전트를 간단히 변경하면 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)
작동합니다!
다른 사람이 이것을 복제 할 수 있습니까? 비표준 URL 패턴에 영향을 미치는 문제 외에 IE10 쿠키에 대해 알려진 문제를 찾을 수 없습니다.
핫픽스
후 devio이 해결 방법으로, 원래의 대답을 게시, nullptr은 지금이 있음을 확인이 이 핫픽스를 .
http://support.microsoft.com/kb/2600088
나는 핫픽스를 주요 질문으로 승격 시켰는데, 이는 향후 참조를 위해 더 편리하기 때문에 언급 된 사용자에게 찬성 투표를 해주세요.
답변
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>
답변
문제는 IE10이 쿠키없는 브라우저라고 생각하는 일부 IIS 인스턴스에 있습니다 (예 : 쿠키를 지원할 수 없음). 문제의 경우 서버는 인증 쿠키를 설정하고 브라우저로 다시 전송했지만 이후 요청에서 쿠키를 무시했습니다.
해결책은 IE10이 쿠키를 수행 할 수 있다는 것을 알도록 브라우저 기능을 패치하거나 (이 페이지의 다른 답변에 설명되어 있음) 브라우저가 쿠키를 수행 할 수 없다고 생각하더라도 강제로 쿠키를 사용하도록 기본 동작을 변경하는 것입니다.
web.config의 양식 섹션에 다음을 추가했습니다.
cookieless = “UseCookies”
<authentication mode="Forms">
<forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" />
</authentication>
답변
이 문제에 대한 핫픽스가 있습니다 [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를 대상으로하는 프로젝트를 업데이트 할 필요가 없습니다. 서버에 설치하기 만하면됩니다.