#tomcat7 #jsessionid #context.xml #session-fixation
#tomcat7 #jsessionid #context.xml #фиксация сеанса
Вопрос:
Все мое приложение работает по протоколу ssl (https). Мы используем tomcat7 в качестве контейнера. Теперь в context.xml Я добавил приведенную ниже конфигурацию и ожидаю, что после успешного входа в систему JSESSIONID будет изменен —
Valve className="org.apache.catalina.authenticator.BasicAuthenticator" changeSessionIdOnAuthentication="true" />
Но, к сожалению, jsessionid не изменяется. После изучения пары статей я узнал, что jsessionid изменяется только в том случае, если мы переключаемся с http на https. Итак, я полагаю, что, поскольку мое приложение работает по протоколу https, jsessionid не изменяется. Я прав?
Итак, я хочу, чтобы jsessionid был изменен после успешной аутентификации и с использованием какой-либо конфигурации. Я могу аннулировать сеанс и создать новый сеанс после завершения аутентификации. Но я предпочитаю делать это с помощью конфигурации, если это возможно.
Спасибо, Картич
Комментарии:
1. Значение по умолчанию для
changeSessionIdOnAuthentication
атрибута равноtrue
. tomcat.apache.org/tomcat-7.0-doc/config /… . Также я думаю, что это не имеет никакого отношения к SSL. Какой полный номер версии Tomcat 7 вы используете?2. Я только что выполнил тест с Tomcat 7.0.54. Значение cookie JSESSIONID было изменено, как и ожидалось, после успешной базовой аутентификации. Мне не нужно было ничего менять в моем context.xml , поскольку по умолчанию значение для
changeSessionIdOnAuthentication
атрибута равноtrue
. Пожалуйста, укажите полный номер версии вашего Tomcat.3. Привет, Эвандро, спасибо за твой ответ. Да, значение атрибута changeSessionIdOnAuthentication по умолчанию равно true. Таким образом, в принципе, нет никакой разницы между вышеупомянутыми изменениями, которые я сделал, и конфигурацией по умолчанию. Мы используем apache-tomcat-7.0.52. Также я кое-что заметил, когда я запускаю проект в eclipse, jsessionid меняется. Но почему-то, когда я развертываю в среде разработки, это не работает. Есть идеи, что может быть причиной.
4. Возможно, вы изменили поведение Tomcat с помощью пользовательской конфигурации. Я только что выполнил экспортированный WAR в Tomcat 7.0.52 без Eclipse и получил новый JSESSIONID с сервера после аутентификации. То же, что и раньше. Вы пытались удалить этот
<Valve>
элемент?