Consultor tecnológico de desarrollo de proyectos informáticos.
Ingeniero en Informática, especialidad en Ingeniería del Software
Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación
Somos expertos en Java/J2EE
Fecha de publicación del tutorial: 2010-09-05
Introducción a CAS (Central Authentication Service)
0. Índice de contenidos.
1. Introducción
CAS (Central Authentication Service) es de una aplicación web que nos permite implementar el conocido SSO (Single Sign On) que es un procedimiento de autenticación que habilita a un usuario para acceder a distintas aplicaciones web (en distintos dominios y en distintos servidores) con hacer login una única vez.En general, cuando un usuario se conecta a una de estas aplicaciones el sistema comprueba si está autenticado y si no lo está, lo redirige a la pantalla del servidor de autenticación. Si la autenticación es correcta el sistema de autenticación, en este caso CAS, vuelve a redirigir al usuario a la página a la que quería acceder en un primer momento.
Que implica esto para los que desarrollamos, que no tenemos que preocuparnos por mantener la seguridad y tener un formulario de login en cada una de las aplicaciones web que desarrollemos, sino que simplemente tendremos que hacer la comprobación de si el usuario ya está registrado, que es tan sencillo como preguntar a la request de esta forma: request.getRemoteUser()
Si el método devuelve null es que no está registrado y será redireccionado a la página de login de CAS. Si ya está registrado por CAS, esté método devolverá un valor con el que sabremos que es un usuario registrado.
Algo que tiene que quedar muy claro es que CAS se encarga única y exclusivamente de la autenticación es decir, de comprobar contra una fuente de datos especifica si el usuario y contraseña facilitados existen, NO se encarga de la autorización, que sería la gestión de lo que puede o no puede hacer ese usuario en función de sus roles.
Para tener además autorización, CAS se integra fácilmente con Spring Security.
2. Entorno
- Hardware: Portátil Mac Book Pro 17" (2,6 Ghz Intel Core i7, 8 GB DDR3)
- Sistema Operativo: Mac OS X Snow Leopard 10.6.4
- CAS Server 3.4.2.1
Descomprimimos el contenido en una carpeta a la que conoceremos como CAS_HOME. Si entramos en CAS_HOME podremos comprobar que el producto se distribuye en distintos proyectos de tipo Maven con todos los fuentes, por lo que necesitamos tener Maven instalado en la máquina.
Para hacer una prueba rápida del producto, abrimos un terminal y nos situamos dentro de la carpeta CAS_HOME/cas-server-webapp y ejecutamos: mvn clean install
Esta sentencia (después de unos minutos) creará en el directorio CAS_HOME/cas-server-webapp/target un fichero cas.war listo para ser desplegado en cualquier servidor de aplicaciones.
Probamos a desplegarlo en un Apache Tomcat y este es el resultado:

Por defecto, este producto viene con un sistema de autenticación de prueba que es tan sencillo como que el campo “NetId” y el campo “Contraseña” coincidan. De esta forma cuando ponemos los campos iguales obtenemos la siguiente pantalla:

4. Conclusiones
No olvideis que esto es sólo un sistema de autenticación, por lo que si queréis también autorización tendréis que recurrir a integrarlo con Spring Security.
En posteriores tutoriales veremos como establecer nuestro propio sistema de autenticación y como integrarlo con Spring Security.
Saludos.
A continuación puedes evaluarlo:
Fecha publicación: 2012-01-17-12:58:27
Autor: rubenagui
Fecha publicación: 2012-01-10-23:44:13
Autor: Alexander
Están excelentes los tutoriales sobre CAS, Tengo una duda, la licencia para la utilización de esta solución es free o tiene licencia comercial y hay que pagar para ser utilizado.
Muchas Gracias.
Fecha publicación: 2010-10-27-15:04:55
Autor: rubenagui
las aplicaciones clientes no tienen porque estar en el mismo servidor de aplicaciones donde este corriendo CAS, pero todas tienen que estar implementadas con tecnología J2EE.
Saludos
Fecha publicación: 2010-10-27-10:38:32
Autor: fsd
gracias
Fecha publicación: 2010-09-05-23:00:59
Autor: franferri












Aquí te dejo la información sobre la licencia de CAS: http://www.jasig.org/cas/license
Es de código libre y por tanto se puede utilizar de forma gratuita, bajo las condiciones que dice en la página.
Saludos