Estoy tratando de proteger un recurso en tomcat para que solo puedan acceder a él los "usuarios válidos" (aquellos con un nombre de usuario y contraseña válidos en el reino). No necesariamente pertenecen a un grupo en el reino. He intentado con muchas combinaciones de la directiva <security-constraint>
sin éxito. ¿Algunas ideas?Restricción de seguridad de Tomcat para usuario válido
Respuesta
Hay varias implementaciones del reino en Tomcat: memoria, base de datos, JAAS y más. El más fácil de configurar (aunque no el más seguro) la memoria uno, que contiene un único archivo XML, por lo general bajo conf/tomcat-users.xml:
<tomcat-users>
<user name="tomcat" password="tomcat" roles="tomcat" />
<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
</tomcat-users>
La configuración reino está bajo el contexto, anfitrión o configuraciones de motor, así:
<Realm className="org.apache.catalina.realm.MemoryRealm"
pathname="conf/tomcat-users.xml" />
Luego, en el web.xml que ponen la siguiente definición:
<security-constraint>
<web-resource-collection>
<web-resource-name>MRC Customer Care</web-resource-name>
<url-pattern>/protected/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>DIGEST</auth-method>
<realm-name>YOUR REALM NAME</realm-name>
</login-config>
<security-role>
<description>
The role that is required to access the application.
Should be on from the realm (the tomcat-users.xml file).
</description>
<role-name>role1</role-name>
</security-role>
la parte web.xml se toma (con un cambio leve) de una de nuestra web ap PD.
Además de la autenticación en restricciones que va a agregar a la seguridad en restricciones:
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
necesita especificar la función de seguridad en la aplicación Web:
<security-role>
<role-name>*</role-name>
</security-role>
Voy a probar esto e informar. – rmarimon
La adición de la etiqueta security-role fue la solución para nosotros. Gracias. –
¿Alguna forma de agregar realmente la restricción fuera de web.xml? P.ej. agregar una restricción para todas las aplicaciones web además del Realm/Valve en context.xml? – cschooley
- 1. ¿Es obligatoria la configuración de restricción de seguridad para Tomcat?
- 2. Asignación de roles de seguridad Tomcat
- 3. Jersey, Tomcat y anotaciones de seguridad
- 4. Configuración de un determinado reino Tomcat Seguridad
- 5. Seguridad de Tomcat 7: ¿intenta iniciar sesión?
- 6. ¿Cómo obtengo un token de usuario válido para CreateProcessAsUser?
- 7. seguridad de primavera (3.0.x) y suplantación de usuario
- 8. Restricción de seguridad en web.xml para usuarios autenticados sin membresías de roles
- 9. chown grupo de usuario no válido
- 10. Obtener el usuario de Tomcat en Java
- 11. ¿Cómo desbloquear un usuario de tomcat?
- 12. DDD Políticas de Seguridad del usuario
- 13. Seguridad de Tomcat frente a WebSphere frente a WebLogic
- 14. Cómo configurar una política de seguridad en Tomcat 6
- 15. Seguridad más allá de un nombre de usuario/contraseña?
- 16. MVC Restricción de ruta para bool
- 17. ¿Cómo aplicar un rol de seguridad de tomcat para todas las URLs menos una?
- 18. restricción de interfaz para IComparable
- 19. Restaurar PostgreSQL db desde la copia de seguridad sin problema de restricción de clave foránea
- 20. privilegio de usuario de Windows 7 y revisión de seguridad
- 21. seguridad de primavera con detalles de usuario personalizados
- 22. ¿Tomcat crea un hilo por usuario?
- 23. Seguridad de nombre de usuario y contraseña de ASMX
- 24. HABTM - restricción de exclusividad
- 25. violación de restricción de cargador
- 26. Node.js + Express.js Permiso de usuario Modelo de seguridad
- 27. Restricción de JMX a localhost
- 28. MembershipCreateUserException - El nombre de usuario proporcionado no es válido
- 29. restricción de base de datos de acceso para asp.net
- 30. Estrategia de copia de seguridad para django
En mi entorno particular estoy conectando a un ldap usando el JNDIRealm. El problema es que no puedo incluir grupos en el ldap y debo autenticarme solo con el nombre de usuario y la contraseña sin ningún rol. He intentado usar ' ' y ' * ' sin éxito. –
rmarimon