Spring Security: проходить сессию через домены - PullRequest
1 голос
/ 19 сентября 2011

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

Как повторно подключить правильныйсеанс для пользователя после того, как он переключил домены?

Можно ли выполнить некоторый java-код непосредственно перед отправкой перенаправления, вызванного requires-channel="https "?

Редактировать: Я думал, что в Spring Security может быть что-то конкретное, что можно было бы использовать, но до сих пор я не смог найти ничего в документации.

Редактировать 2: Только что выяснилось, что мне, вероятно, нужно сделать, чтобы заменить ChannelProcessingFilter пользовательской реализацией, но я не знаю, что мне нужно сделать, чтобы обеспечить весеннюю безопасность, чтобы принять мой новый класс вместо ChannelProcessingFilter по умолчанию.м с использованием Spring 3.0.

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Мы решили эту проблему, предоставив пользовательский ChannelProcessor, который запускается прямо перед стандартным ChannelProcessor и отправляет перенаправление, которое включает jsessionid в качестве параметра URL.Затем по умолчанию ChannelProcessor использует этот URL-адрес и отправляет еще одно перенаправление в http-домен.

Чтобы изменить URL-параметр обратно в формат «;» для идентификаторов сеансов, у нас есть несколько дополнительных директив в apache:

Header edit Location ^(.*)\?jsessionid=([^&]*)&(.*)$ $1;jsessionid=$2?$3
Header edit Location ^(.*)\?jsessionid=([^&]*)$ $1;jsessionid=$2 

Затем URL оценивается котом и продолжает тот же сеанс в другом домене.

0 голосов
/ 19 сентября 2011

Проверьте этот пост для информации / разрешения по этому вопросу - Сессия потеряна при переключении с HTTP на HTTPS в PHP

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