Apache Tomcat (6.x) размещение SessionID - PullRequest
3 голосов
/ 20 августа 2009

Мне нужно знать, какой класс в Tomcat (6.x) отвечает за размещение SessionID в файле cookie или добавление его в запрос. Это сделано после того, как все фильтры пройдены?

Мне нужно изменить SessionID перед отправкой ответа в браузер ...

1 Ответ

5 голосов
/ 30 сентября 2009

Идентификатор сеанса устанавливается диспетчером сеансов Tomcat - существует множество различных реализаций. Если вы измените идентификатор сеанса во время выполнения вашего приложения, вы можете нарушить некоторые предположения, сделанные Session Manager.

Чтобы изменить идентификатор, вам необходимо внедрить собственный менеджер сеансов. «Стандартный» способ сделать это - расширить ManagerBase . Вы также можете расширить StandardManager и переопределить generateSessionId () . Чтобы Tomcat использовал свой собственный менеджер сеансов, взгляните на конфигурацию Context и Manager в файле server.xml

Будьте очень осторожны при создании собственных идентификаторов сеансов. Сервер не может знать, действителен ли идентификатор в файле cookie. Если злоумышленник может угадать вашу последовательность ID, он может украсть сеансы других пользователей, просто установив значения cookie в своем HTTP-клиенте.

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