Supongamos que tengo una aplicación web ABC, ABC tiene un enlace para el nombre del módulo XYZ que se implementa en otro servidor JBOss o Wildfly. Cuando el usuario inicia sesión en la aplicación ABC y hace clic en el enlace XYZ, tengo que usar la misma autenticación de ABC para XYZ. ¿Cuál es la forma correcta de hacerlo?
La Guía de referencia web (resaca) para Wildfly (que se actualizó por última vez en julio de 2014) establece lo siguiente:
Compartir sesiones entre guerras en un oído
Undertow le permite compartir sesiones entre guerras en un oído, si está configurado explícitamente para hacerlo. Tenga en cuenta que si utiliza esta función, es posible que sus aplicaciones no sean portátiles, ya que no es una función de servlet estándar.
Para habilitar esto, debe incluir un elemento de configuración de sesión compartida en el archivo jboss-all.xml en el directorio META-INF del oído:
<jboss umlns="urn:jboss:1.0"> <shared-session-config xmlns="urn:jboss:shared-session-config:1.0"> <session-config> <cookie-config> <path>/</path> </cookie-config> </session-config> </shared-session-config> </jboss>Este elemento se usa para configurar el administrador de sesiones compartidas que usarán todas las guerras en el oído. Para obtener detalles completos de todas las opciones proporcionadas por este archivo, consulte el esquema en https://github.com/wildfly/wildfly/blob/master/undertow/src/main/resources/schema/shared-session-config_1_0.xsd , sin embargo, en general imita las opciones que están disponibles en jboss-web.xml para configurar la sesión.
Esto se agregó en WFLY-1891 (versiones de corrección: 8.2.0.Final, 9.0.0.Alpha1), los comentarios en los que se indica que no funciona en un clúster (a partir de abril de 2014).
Consulte también otra publicación de SO: el uso compartido de sesiones en WildFly no funciona
Editar:
WFLY-3270: compatibilidad en clúster para el uso compartido de HTTPSession entre guerras entregado en un EAR indica que la agrupación en clústeres se resolvió en 9.0.0.Alpha1.