Сеанс сервлета - переключение с перезаписи URL на cookie - PullRequest
0 голосов
/ 05 июня 2010

Ситуация: У меня «тупой» интерфейс Javascript, который может связываться с каким-либо промежуточным ПО SSO (MW). MW может получать сеансы, выполняя запросы, которые содержат учетные данные аутентификации (имя пользователя, пароль). То есть сеанс будет создан для определенного пользователя.

Мой веб-интерфейс должен "перезапустить" сеанс, чтобы получить права пользователя на целевую систему. Для этого мне нужен правильный сессионный cookie.

Целевая система не находится под моим контролем (это может быть более или менее общедоступная WFS, WMS и т. Д.), Поэтому я не могу добавить в нее какой-либо механизм единого входа.

Вопрос: Можно ли "украсть" сеанс, подделывая запрос, URL которого содержит действительный идентификатор сеанса в параметре jsessionid?

Цель : отправить такой запрос сервлету и заставить его ответить заголовком Set-Cookie, содержащим тот же идентификатор. Таким образом, веб-интерфейс присоединяется к сеансу и может делать все, что может сделать пользователь, который использовался для создания сеанса.

1 Ответ

0 голосов
/ 05 июня 2010

Ваша лучшая ставка - это общий источник данных (RDBMS?), Где общая информация хранится с некоторым длинным автоматически генерируемым уникальным идентификатором в качестве ключа (java.util.UUID, может быть? ), а затем передайте этот ключ.

...