Мы перенесли наше приложение с JBoss 5 на JBoss6, и одной из основных причин этого является использование новых функций сервлета 3.0. Все отлично работает, кроме одной новой функции JBoss 6 и сервлета 3.0: настройка cookie сеанса только на передачу через защищенный канал, даже если запрос был сделан через простой HTTP. Это очень важная функция безопасности для нас и достигается путем добавления
<secure>true</secure>
в web.xml. Это часть нашего web.xml:
<session-config>
<session-timeout>25</session-timeout>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
<tracking-mode>COOKIE</tracking-mode>
Когда мы удаляем
<secure>true</secure>
все работает нормально. Когда он есть, для каждого запроса создается новый jsessionid, даже если он находится на защищенной странице (HTTPS) или на незащищенной странице (HTTP). Кроме того, логин не работает, поскольку после входа в систему с безопасными учетными данными пользователь перенаправляется обратно на страницу входа.
Я полагаю, это может быть проблемой с Tomcat 7, так как она также использует спецификацию сервлета 3.0. Любые советы будут высоко оценены.
Привет