A ver si con esto podes hacerlo:
1 - Agregar en el
web.xml estas lineas
<security-constraint>
<web-resource-collection>
<web-resource-name>Nombre de la zona</web-resource-name>
<!-- aca protejo una pagina jsp. Supongo que si queres un
directorio entero, por ejemplo admin sera: /admin/*
-->
<url-pattern>
/protegido.jsp</url-pattern>
<!-- (esto no tengo idea para que sirve)
Ahora indicamos los metodos por los que no se puede acceder
<http-method>GET</http-method> <http-method>POST</http-method>
--> </web-resource-collection>
<!-- rol que debe tener el usuario que se loguee. Definido en tomcat-users.xml
-->
<auth-constraint>
<role-name>
admin</role-name>
</auth-constraint>
<!--
Por fin indicamos el valor de seguridad en el
Transporte. Como dijimos, los posibles valores son :
NONE, CONFIDENTIAL, INTEGRAL.
Usare NONE porque ahora mismo no tengo instalado SSL.
* Si uso NONE => no hay que hacer nada mas...
* Si uso CONFIDENTIAL => hay que habilitar el SSL y generar la clave con keytool (herramienta de jdk)
-->
<user-data-constraint>
<transport-guarantee>
CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Administracion</realm-name>
</login-config>
DESDE AQUI TODO PARA SSL
2 - Si utilizo CONFIDENTIAL => debo habilitar el servicio de SSL. Para esto buscar en
server.xml
la entrada: [Connector port="8443"] (sin los corchetes) y descomentarla (por default viene comentada)
3 - Ejecutar: %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
4 - El password por default es: "changeit" Si lo queresmos facil debemos utilizar este password
5 - Si queresmos utilizar otro password (por ejemplo: "locomia44") entonces agregar al TAG que descomentamos
el parametro:
keypass="locomia44"
6 - Rezar 2 Padre Nuestro y 3 Ave Maria
7 - Cuando ingreses a:
http://localhost:8080/tuapp/admin te va a pedir que aceptes
el certificado y te va a pedir que ingreses usuario y password. El usuario y password
debe estar definido en tomcat-users.xml y el usuario debe tener asignado el rol
que definiste en el web.xml (segun explique mas arriba).
Saludos !
Pablo.