Migramos nuestra aplicación de JBoss 5 a JBoss6 y una de las principales razones para esto es hacer uso de las nuevas características de servlet 3.0. Todo funciona bien, aparte de una nueva característica de JBoss 6 y servlet 3.0: configurar la cookie de sesión para que solo se transfiera a través de un canal seguro, incluso si la solicitud se realizó a través de HTTP simple. Esta es una característica de seguridad muy importante para nosotros y se logra agregandoProblema con la característica de seguridad de sesión de JBoss 6 usando servlet 3.0
<secure>true</secure>
en web.xml. Esta es parte de nuestra 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>
Cuando eliminamos la
<secure>true</secure>
todo funciona bien. Cuando está allí, se genera una nueva jsessionid para cada solicitud incluso cuando se encuentra en una página segura (HTTPS) o en una página no segura (HTTP). Además, el inicio de sesión no funciona, ya que después de iniciar sesión con credenciales seguras, el usuario es redirigido a la página de inicio de sesión.
Supongo que esto también podría ser un problema con Tomcat 7 ya que también utiliza la especificación de servlet 3.0. Cualquier consejo sería muy apreciado.
Saludos
Perdóneme, pero en mi humilde opinión, JBoss AS 6 es casi tan defectuoso como 5. Tenga cuidado. Solo mire las entradas de JIRA con estado 'cerrado' y' no arreglará'. ¿Por qué no JBoss AS 7? –
@GrzesiekD gracias por su comentario. De hecho, hemos migrado a 7 ahora. Esta pregunta ahora tiene casi 2 años. – Alex
Sí, tienes razón. Me di cuenta de esto después de publicar un comentario. Mea culpa. –