У нас есть приложение ASP.NET, работающее в .NET 3.5, и мы столкнулись с проблемой, что cookie для проверки подлинности форм не установлен в IE9. Из заголовков HTTP видно, что в ответе существует заголовок Set-Cookie
, но следующий запрос не включает этот файл cookie.
Я пытался изменить все настройки в IE, которые я мог найти, которые могут относиться к куки, и ничего не помогло. В частности:
Инструменты> Параметры> Безопасность> Надежные сайты> Добавлено ..
Инструменты> Параметры> Безопасность> Снимите флажок «Включить защищенный режим»
Инструменты> Параметры> Конфиденциальность> Принять все файлы cookie (самые низкие)
Инструменты> Параметры> Конфиденциальность> Сайты> Добавлено ..
Инструменты> Параметры> Конфиденциальность> Дополнительно> Переопределить автоматически ..
Инструменты> Параметры> Конфиденциальность> Дополнительно> Всегда разрешать сеансовые куки
Вот заголовки ответа с файлом cookie, за которым следует следующий запрос, который не включает его:
HTTP/1.1 302 Found
Date: Sun, 29 Jan 2012 01:45:17 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Location: /Default.aspx
Set-Cookie: MyApp=34C244EF0AAD...; expires=Sun, 29-Jan-2012 03:45:17 GMT; path=/
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 8520
GET /Default.aspx HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://app.myserver.edu/sec/login.aspx
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; MALC)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: app.myserver.edu
Pragma: no-cache
Cookie: ASP.NET_SessionId=nybswv45aezj5wioscv832jg
Есть ли способ узнать, почему IE9 не устанавливает cookie? Что-нибудь, что я могу настроить в моем файле Web.config, чтобы это отразилось на этом? Мой раздел аутентификации это:
<authentication mode="Forms">
<forms name="MyApp" loginUrl="/sec/login.aspx"/>
</authentication>