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

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

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

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

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

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


person Community    schedule 04.02.2009    source источник
comment
stackoverflow.com/questions/401535/   -  person EthR    schedule 04.02.2009


Ответы (4)


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

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

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

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

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

person Paul Dixon    schedule 04.02.2009
comment
Пол Диксон: сайт Z видит, что у него уже есть сеанс для этого человека, направляет их обратно к B с полезными данными идентификатора сеанса Как сайт Z определяет, что это этот человек, который входит в систему ?? - person pshirishreddy; 02.12.2010
comment
Это безопасно? Когда вы передаете идентификатор сеанса через URL-адрес, он становится перехватываемым, если вы не используете SSL! - person markus; 09.03.2012

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

person Gumbo    schedule 04.02.2009

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

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

person Wes Mason    schedule 04.02.2009

видеть

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

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

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

person Community    schedule 22.08.2009