Configurar autenticacion HTTP básica en Tomcat
Si estamos utilizando el servidor de aplicaciones Tomcat, podremos hacer uso de una de sus múltiples
características, como es el uso de la autenticación HTTP. Este tipo de autenticación es consideredada un tipo de autenticación insegura ya que no se encriptan los datos de acceso (usuario y password), a no ser que las conexiones se apoyen sobre el protocolo seguro HTTPS.
¿Cómo funciona la autenticación HTTP?.
En primer lugar el navegador pide una URL al servidor Tomcat, el cual pide al navegador un usuario y una contraseña que validará para mostrar la petición solicitada. Con este modo de autenticación, las contraseñas se envian por la red codificadas en base64.
Para poder utilizar este tipo de autenticación tendremos que configurar el fichero web.xml.
Simplemente tendremos que añadir un elemento <security-constraint> and <login-config> e indicar un rol y usuario correcto para las urls que queremos proteger. Necesitaremos crear primeramente
los roles y usuarios que necesitemos en el fichero CATALINA_BASE/conf/tomcat-users.xml
<!-- Codigo que tenemos que añadir al fichero web.xml --> <security-constraint> <web-resource-collection> <web-resource-name> Entire Application </web-resource-name> <url-pattern>/configuracion_aplicacion/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>administradores</role-name> </auth-constraint> </security-constraint> <!-- Define the Login Configuration for this Application --> <login-config> <auth-method>BASIC</auth-method> <realm-name>Area de acceso restringido</realm-name> </login-config>
En el ejemplo anterior estamos indicando que solamente los usuarios con el rol de administradores podrán acceder al directorio configuracion_aplicacion.
Para crear el rol “administradores”, y los usuarios que pertenezcan a ese rol, tendremos que configurar el directorio CATALINA_BASE/conf/tomcat-users.xml:
<role name="administradores"/> <user name="oscar" password="mi_clave_secreta" roles="administradores"/>