Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.byteslounge.com/tutorials/jaas-authentication-in-tomcat-example
(Por alguna razn el link no se visualiza bien en Chrome, se recomienda usar Firefox)
Para este ejemplo se usar el nombre Sample como el directorio raz de mi sitio web,
obviamente debe estar dentro de webapps.
Primero se debe configurar el Realm dentro de la carpeta conf de tomcat , para ello se
modifica el archivo server.xml
Y Fjense que aparece un nuevo archivo de java dentro del paquete sample.module
denominado SampleLoginModule en este archivo se configura el mtodo de autenticacin,
pueden copiarlo del ejemplo propuesto en el link de la parte superior y lo adaptan a nuestro
caso para los shadowed passwords (En el ejemplo del link se indica claramente donde deberan
incrustar su cdigo)
Otro link opcional de SampleLoginModule
https://github.com/yaojingguo/security/blob/master/jdk_samples/JAAS_Authorization/sampl
e/module/SampleLoginModule.java
El Formulario de Login
webapps/Sample/login.html
Este archivo ser llamado cada vez que se requiera acceder a un recurso que necesita
autorizacin. La figura nos muestra el cdigo de dicho archivo:
Tener presente:
Modificar el archivo /opt/apache-tomcat-XXXX/bin/catalina.sh para que registre el
LoginModule
CATALINA_OPTS="-Djava.security.auth.login.config==/opt/apachetomcat-XXXX/conf/Sample.config"
/opt/apache-tomcat-XXXX/conf/passwd.txt
Security Constraints
Se debe definir los roles para la aplicacin y los permisos, esto se realiza en el archivo
webapps/Sample/WEB-IN/web.xml
Definicin de roles: Fjense que se debe colocar la siguiente etiqueta por cada rol que tiene la
aplicacin.
<security-role>
<role-name>CV</role-name>
</security-role>
<security-role>
<role-name>CC</role-name>
</security-role>
Para asignar un recurso al rol se utiliza un security constraint, igualmente se debe colocar una
etiqueta para cada security constraint:
En este ejemplo vemos como se puede asignar todo el contenido de una carpeta
<security-constraint>
<web-resource-collection>
<web-resource-name>ModuloVentas</web-resource-name>
<url-pattern>/ventas/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>CV</role-name>
</auth-constraint>
</security-constraint>