ASP.NET: всплывающие окна браузера и сеансовые куки - PullRequest
1 голос
/ 14 октября 2008

РЕЗЮМЕ: При просмотре веб-сайта ASP.NET с помощью проводника Windows всплывающие окна не «заимствуют» cookie сеанса из родительского окна.

ОПИСАНИЕ:

Я работаю на веб-сайте ASP.NET (.NET 2.0). Я использую FormsAuthentication. Для обработки сеанса требуется использование файлов cookie.

На странице у меня есть кнопка. Когда пользователь щелкает по нему, открывается всплывающее окно. Во всплывающем окне отображается страница ASPX, в которой используются переменные сеанса, ранее установленные в родительском окне браузера. Я тестировал сайт, используя IE (6, 7, 8) и Firefox 2.0. Во всех этих браузерах всплывающее окно имеет доступ к тому же сеансу, что и родительское окно браузера, и все работает нормально.

У меня теперь есть ошибка, поднятая клиентом, утверждающая, что во всплывающем окне отображается ошибка. Глядя на файл журнала, я вижу, что это исключение NullReferenceException в тот момент, когда всплывающая страница пытается получить доступ к переменным сеанса. Разговаривая с клиентом, он сказал, что открыл главный сайт в Windows Explorer !!!

Мне удалось воссоздать проблему на тестовом компьютере и увидел, что всплывающее окно использует новый сеанс.

На машине должна быть установлена ​​Win XP и IE6! С IE7 сайт работает нормально.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2008

Я видел ту же проблему с IE 8, проблемы не возникают в Firefox, Google Chrome или IE 6. В моем случае я вижу, что сеанс фактически работает, но аутентификация прекращает перенаправление пользователя на страницу входа снова, чтобы он мог войти ...

0 голосов
/ 14 октября 2008

Мое подозрение здесь заключается в том, что при открытии из Windows Explorer (не то, что я полностью понимаю, что вы имеете в виду под этим), файл cookie сеанса, который отправляется обратно, нигде не сохраняется и, таким образом, не доступен для всплывающего окна для включения в его запрос. Я не понимаю, как вы можете обойти это. Разве нельзя сказать клиенту, что этот способ доступа к приложению не поддерживается?

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