Может ли Tomcat предоставлять отдельные (или только HTTPS) сеансы для запросов HTTPS? - PullRequest
3 голосов
/ 23 марта 2010

У меня есть веб-приложение, которое содержит как защищенные (SSL), так и незащищенные страницы.

Пользователь может войти на сайт и должен войти в систему как в областях SSL, так и в областях без SSL.

(NB. SSL не реализуется через Tomcat, но через серверы Apache HTTPD, которые находятся перед Tomcat, поэтому у Tomcat нет конфигурации SSL.)

Состояние входа в систему в настоящее время поддерживается с помощью сеанса сервлета (с использованием управления сеансом Tomcat Vanilla).

Очевидная проблема с этим подходом заключается в том, что cookie-файл JSESSIONID транспортируется через соединения HTTP и HTTPS, а это означает, что потенциально возможно перехватить его и перехватить сеанс.

Существуют ли какие-либо решения для этого без использования нашего собственного управления сеансами (т. Е. Учитывает ли Tomcat эту ситуацию)?

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

1 Ответ

3 голосов
/ 24 марта 2010

Вы говорите, что SSL реализован на сервере Apache и не передается Tomcat, поэтому Tomcat рассматривает весь путь как HTTP? Если это так, Tomcat не будет создавать отдельные JSESSIONID, так как он не знает о HTTPS.

Вы можете проверить request.getUserPrincipal (), чтобы увидеть, вошел ли пользователь в систему.

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