2009-02-04 4 views
5

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

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

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

Я попросил, чтобы посмотреть в Iframe/P3P solutions.I новичок в этой концепции. не могли бы вы посоветовать мне, как достичь этого.

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

+0

http://stackoverflow.com/questions/401535/can-i-use-an-img-tag-to-send-cookies-across-domains – EthR

ответ

5

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

3

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

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

9

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

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

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

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

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

+0

Paul Dixon: сайт Z видит, что у него уже есть сеанс для * * этот человек **, направляет их прямо обратно в B с полезной нагрузкой на сеанс. Как сайт Z идентифицирует это ** этот человек **, который подписывается? – pshirishreddy

+0

Безопасно ли? Когда вы передаете sessionID через url, он становится перехваченным, если вы не используете SSL! – markus

0

см

Совместное использование Cookies между доменами

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

кажется использовать "Перенаправление", чтобы перевести куки между доменами. Но это слишком сложно. Просто для справки.

Смежные вопросы