Проблема с функцией безопасности сеанса JBoss 6 с использованием сервлета 3.0

Мы перенесли наше приложение с 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. Мы будем очень благодарны за любой совет.

С уважением

12
задан skaffman 25 June 2011 в 18:17
поделиться