Как сделать так, чтобы два окна браузера использовали один и тот же сеанс?

У меня есть приложение, которому необходимо открыть новое окно (в том же домене), чтобы пользователь мог просмотреть отчет, но в некоторых браузерах* новое окно не использует непостоянный файл cookie исходного окна, что приводит к пользователя, чтобы снова войти в систему. Есть ли что-нибудь, что я могу сделать, чтобы пользователю не приходилось снова входить в новое окно?

* На самом деле, в IE7 это происходит спорадически — иногда новые окна используют файлы cookie, иногда нет.


person stucampbell    schedule 24.09.2008    source источник
comment
Какую серверную технологию вы используете?   -  person EndangeredMassa    schedule 25.09.2008


Ответы (5)


Похоже, что IE7 генерирует новые процессы с другим алгоритмом, чем IE6, и может вызвать проблемы с файлы cookie сеанса.

Наиболее надежным решением, вероятно, будет создание архитектуры вокруг него - либо с сеансами без файлов cookie, с постоянным файлом cookie, либо просто с сериализацией данных, которые вам нужны на странице.

person Mark Brackett    schedule 24.09.2008
comment
Спасибо. Этот блог подытожил мою проблему. Я думаю, что мое решение должно состоять в том, чтобы запустить отчет в iframe или использовать постоянные файлы cookie для отчетов. - person stucampbell; 26.09.2008

Я думал, что IE7 разделяет непостоянные файлы cookie с вкладками в том же окне, а также с окнами, которые были созданы из текущего окна (независимо от того, одинаково ли это для ручного открытия, такого как «Файл-> Новый», или открытия программного сценария, я' м не уверен), но вот свежих экземпляров не было.

Firefox использует их во всех окнах, независимо от того, как они были открыты. Я всегда предполагал, что это именно так, как есть, и вам придется использовать постоянные файлы cookie, сеансы без файлов cookie или разработать единый механизм входа/билетов, чтобы обойти это.

person Pseudo Masochist    schedule 24.09.2008

Я использую ASP.NET и полагаюсь на поведение сеансов, совместно используемых в окнах браузера, и это работает для меня. На самом деле, я даже использую его по той же причине, что и вы, чтобы показать отчет в новом окне :)

person Ray    schedule 24.09.2008

Они должны совместно использовать файлы cookie. Это был мой опыт в прошлом. Я отредактирую, как только поиграю.

person Oli    schedule 24.09.2008

Может ли это быть связано с тем, как вы открываете окно, например. - JavaScript или целевой тег?

person Community    schedule 24.09.2008