Как случайно мой сеанс может быть нулевым? - PullRequest
2 голосов
/ 20 июня 2010

Я использую Tomcat 6.0, JSF2.0.2

Я понял, что случайным образом HttpServletRequest getSession метод возвращает ноль.

Могу ли сеанс случайно быть нулевым?

Как я могу отладить, кто устанавливает сеанс в нуль?

Я проверил это с request.getSession(true), и он возвращает ноль. Как могло случиться, что он не может создать сеанс?

1 Ответ

1 голос
/ 20 июня 2010

Во-первых, эта проблема не связана с JSF, поскольку она «просто» основанная на компонентах инфраструктура MVC. Эта проблема больше связана с рассматриваемым сервлет-контейнером, который в данном случае, таким образом, является Tomcat.

Что касается проблемы: я видел это раньше в определенных портальных (подобных) приложениях. Tomcat имеет некоторые встроенные средства предотвращения фишинга, которые возвращают сеанс null, когда заданный идентификатор и путь cookie не совпадают ни с одним файлом cookie в менеджере сеансов Tomcat. Чаще всего эту проблему можно решить, установив атрибут emptySessionPath HTTP-коннектора <Connector> в conf/server.xml на true.

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