ASP.NET Request.Cookies ["cookie"] возвращает пустое значение в IE при первоначальном запросе - PullRequest
4 голосов
/ 06 апреля 2011

Мы используем openSSO для аутентификации нашего сайта. Когда пользователь проходит проверку подлинности, openSSO перенаправляет на тот URL-адрес, который был запрошен изначально. Это конечно стандарт. Что необычно, так это то, что в IE, когда пользователь перенаправляется, вызывает Request.Cookies ["cookie"]. Значение в IE пустое, но оно работает в Firefox, Request.Cookies ["cookie"], конечно, добавляется openSSO.

Я проверил fiddler, cookie-файлы firebug, cookie определенно устанавливается (следовательно, он работает в FF) Единственный способ заставить это работать в IE - это если после первоначального перенаправления из opensso я обновляю страницу, используя F5, тогда все работает как положено.

Что еще более необычно, так это то, что при первоначальном перенаправлении после аутентификации файл cookie остается пустым, но в нем помещается «javascript: alert (document.cookie);» в строке URL-адреса видно, что даже в IE есть значения cookie, просто Request.Cookies ["cookie"]. Значение считает его пустым (обратите внимание, что оно НЕ является нулевым, только значение пустым)

Любая помощь будет оценена

1 Ответ

0 голосов
/ 06 апреля 2011

Это то, что я тоже вижу.Файл cookie не установлен на странице после перенаправления.Это происходит из-за плохой синхронизации браузера.

Одна из работ, которую я делаю, заключается в том, что я использую среднюю страницу перенаправления, поэтому у браузера есть время, чтобы сохранить cookie, и следующая страница получает его.

Например, что я делаю, это последовательность. LoginPage -> middleHiddenCheckPage -> FinalRedirectedPage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...