Vamos a emplear lo que se denomina "Memory Realm", esto es, la autenticación es contra los datos de usuarios cargados en memoria... ¿de donde? Del archivo users.xml
Los pasos son:
- Agregar en la tag <Engine></Engine> a conf/server.xml lo siguiente: <Realm className="org.apache.catalina.realm.MemoryRealm" />
- Editar o crear el archivo conf/tomcat-users.xml, un ejemplo puede ser: <?xml version='1.0' encoding='utf-8'?><tomcat-users> <role rolename="test"/> <user username="user" password="pass" roles="test"/></tomcat-users>
- El paso anterior crea un usuario "user" con el rol "test".
- Finalmente, hay que modificar el archivo XML de la aplicación Web (web.xml) y agregar algunos parámetros para que solicite autenticación:
<security-constraint>La configuración anterior, obliga a que cualquier recurso que quiera ser accedido debe estar autenticado el usuario y tener el rol test.
<web-resource-collection>
<web-resource-name>
Protected Site
</web-resource-name>
<!-- This would protect the entire site -->
<url-pattern>
/*
</url-pattern>
<!-- If you list http methods, only those methods are protected -->
<http-method>
DELETE
</http-method>
<http-method>
GET
</http-method>
<http-method>
POST
</http-method>
<http-method>
PUT
</http-method>
</web-resource-collection>
<auth-constraint>
<!-- Roles that have access -->
<role-name>
test
</role-name>
</auth-constraint>
</security-constraint>
<!-- BASIC authentication -->
<login-config>
<auth-method>
BASIC
</auth-method>
<realm-name>
Example Basic Authentication
</realm-name>
</login-config>
<!-- Define security roles -->
<security-role>
<description>
Test role
</description>
<role-name>
test
</role-name>
</security-role>
..
<?xml version="1.0" encoding="iso-8859-1"?>
No hay comentarios:
Publicar un comentario