Совместное использование сеанса через домен - PullRequest
5 голосов
/ 04 февраля 2009

В настоящее время мы сталкиваемся с проблемой совместного использования одного сеанса между поддоменами. мы используем сервер Jboss.

Пользователи получают доступ к сайту, соответствующему их языку, например en_US, который имеет уникальное доменное имя. Создается файл cookie, соответствующий домену. Пользователи могут переходить в другие локали, которые имеют другое доменное имя. Проблема в том, что для другого домена создается новый файл cookie, который теряет информацию, сохраненную в предыдущем сеансе. Нам нужно использовать один и тот же сеансовый файл cookie для разных доменов.

Ex домены: sample.au sample.co.uk sample.us

Я попросил изучить решения Iframe / p3p. Я новичок в этой концепции. не могли бы вы подсказать мне, как этого добиться.

Заранее спасибо

Ответы [ 4 ]

10 голосов
/ 04 февраля 2009

Вам нужна услуга единого входа . Вы можете создать свой собственный сайт для своих сайтов A..Y, имея централизованный сайт Z для управления сеансами / входа в систему.

  • пользователь заходит на сайт А, не имеет идентификатора сессии
  • сайт А перенаправляет пользователя на сайт Z
  • site Z создает сеанс, возможно, после аутентификации пользователя, и удаляет cookie Z сайта, перенаправляет пользователя обратно на сайт A с URL-адресом, который содержит дополнительную полезную нагрузку, сообщающую сайту A, что такое идентификатор сеанса пользователя
  • сайт A удаляет cookie сеанса, позволяя пользователю продолжать использовать общий сеанс на A

Теперь, когда пользователь заходит на сайт B

  • сайт B не видит сессии, перенаправляет на сайт Z
  • сайт Z видит, что у него уже есть сеанс для этого человека, направляет его обратно в B с полезной нагрузкой идентификатора сеанса
  • с сайта B можно удалить сессионный cookie, все снова хорошо.

Другими словами, ваш сигнальный знак на службе дает пользователю что-то, что он может привязать (сессионный cookie), а также что-то, что он может передать участвующему сайту, чтобы доказать, что он аутентифицирован.

5 голосов
/ 04 февраля 2009

Файлы cookie могут использоваться в доменах только в том случае, если они действительны для общего домена более высокого уровня. Таким образом, foo.example.com и bar.example.com могут совместно использовать файл cookie, установленный для example.com. Обратите внимание, что значение cookie Domain должно быть равно .example.com (с начальной точкой).

3 голосов
/ 04 февраля 2009

Вам необходимо установить домен для файла cookie в верхний домен, перед которым ставится точка, например для subdomain1.domain.com и subdomain2.domain.com вы должны использовать домен для файла cookie сеанса: .domain.com.

В JBoss вы должны иметь возможность переопределить это для всех поддоменов в классе javax.servlet.http.Cookie.

0 голосов
/ 22 августа 2009

см

Обмен файлами cookie между доменами

http://www.15seconds.com/issue/971108.htm

Кажется, используется «Перенаправление» для перевода файлов cookie между доменами. Но это слишком сложно. Просто для справки.

...