Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
En este manual mostraremos como aplicar control de acceso a una aplicación web java
mediante un servidor CAS single sign-on que se encargará de realizar la autenticación de los
usuarios y el framework Spring Security que nos proporcionará la etapa de autorización
mediante roles.
Diagrama en alto nivel del acceso a un recurso protegido mediante CAS y Spring Security:
Preparar un servidor CAS
2) Descomprimir y copiar el Tomcat en dos carpetas bajo /opt del entorno de trabajo (Virtual
Box + Debian). Una carpeta llamada CAS y otra carpeta llamada APP, inicialmente con los
mismos contenidos.
*NOTA*: En el server.xml se definen otros puertos. Hay que tener cuidado que los puertos de
cada tomcat sean diferentes. Si arrancamos un segundo tomcat con puertos coincidentes,
aunque no se estén usando, dará error y se cerrará.
7) Comprobar que la autenticación se realiza correctamente. Por defecto, el servidor CAS 4.0.0
utiliza el AcceptUsersAuthenticationHandler para autenticar a los usuarios. Este handler utiliza
para dicha tarea una lista de parejas login/password harcodeada en el fichero de configuración
del CAS (/WEB-INF/deployerConfigContext.xml). La pareja login/password que viene por
defecto es “casuser”/”Mellon”. Este handler aparece en la documentación del CAS dentro de la
categoría “Whitelist Authentication”.
8) Para realizar la integración con OpenLDAP, Para integrar CAS con OpenLDAP necesitaréis
como mínimo las librerías:
ldaptive-1.1.0.jar: http://central.maven.org/maven2/org/ldaptive/ldaptive/1.1.0/ldaptive-
1.1.0.jar
cas-server-support-ldap-4.0.0.jar: http://central.maven.org/maven2/org/jasig/cas/cas-server-
support-ldap/4.0.0/cas-server-support-ldap-4.0.0.jar
Estas librerías deben situarse en el directorio lib del cas server, es decir
/opt/CAS/webapps/cas-server-webapp-4.0.0/WEB-INF/lib
Preparar una aplicación web CASificada basada en Spring Security
1) Se utilizará el tomcat APP (situado en la carpeta APP). Dado que ya hemos modificado los
puertos del Apache-Tomcat CAS (situado en la carpeta CAS), no tenemos que hacer ninguna
modificación en este nuevo servidor. De todas maneras, se recomienda comprobar que no
haya ningún puerto coincidente.
2) Obtener la aplicación web facilitada por el consultor dentro del fichero simplecasclient.zip y
situarla en la carpeta /webapps del servidor apache-tomcat APP.
3) La aplicación web proporcionada por el consultor implementa de forma muy simple unos
controles de acceso mediante roles sobre dos carpetas llamadas "secure" y "extreme". La
configuración actual de la aplicación sólo contempla un único usuario llamado "casuser" con
un rol asignado que sólo le da acceso a la carpeta "secure". La autenticación del usuario se
realiza conectando con un servidor CAS.
Como ya se ha dicho, la aplicación CASificada facilitada por el consultor está configurada para
trabajar únicamente con un usuario llamado "casuser". Este usuario tiene asignado el rol
“ROLE_USER”, el cual no le permite acceder a la carpeta "extreme". Un primer paso para
probar el funcionamiento de la aplicación de ejemplo sería crear un nuevo usuario con los
roles necesarios para acceder a todos los recursos protegidos. Cabe destacar que, con la
configuración por defecto, Spring Security requiere que los roles utilizados contengan el prefijo
“ROLE_”. Se deberá tener en cuenta este punto a la hora de crear nuevos roles.