Al utilizar JAAS JDBCRealms con Tomcat, generalmente defino el dominio en server.xml
. Pero ahora estoy buscando una solución más simple, donde no tengo que configurar el contenedor de Tomcat al implementar la aplicación.Cómo definir los reinos de seguridad de Tomcat por aplicación web
Si es posible, me gustaría mantener toda la configuración de JAAS en web.xml y simplemente definir el dominio por aplicación/aplicación web.
Un hilo menciona que lo hizo definiendo el dominio en META-INF/context.xml
de la aplicación web ... pero no pude hacerlo funcionar (Why is Tomcat manager using my LoginModule?).
Por favor, ayúdenme a encontrar la ubicación correcta en .war para definir un org.apache.catalina.realm.JDBCRealm
que luego se usa para esa aplicación web.
Quizás encontré la solución: Solo si no existe un archivo de contexto para la aplicación en $ CATALINA_BASE/conf/[enginename]/[hostname] /, en un archivo individual en /META-INF/context.xml dentro de los archivos de la aplicación. Si la aplicación web está empaquetada como WAR, /META-INF/context.xml se copiará a $ CATALINA_BASE/conf/[nombre de programa]/[nombre de host]/y se renombrará para coincidir con la ruta de contexto de la aplicación. Una vez que este archivo exista, no será reemplazado si se coloca un nuevo WAR con un /META-INF/context.xml más nuevo en la base de datos del host. de http://tomcat.apache.org/tomcat-6.0-doc/config/context.html – alfonx