De hecho, yo empecé a construir la aplicación sin tener en cuenta ninguna cuestión de seguridad y ahora agrego este framework sin modificar el código existente. Es probable que tenga que crear código, como un provider de autenticación para que acegi pueda validar usuario y password, pero gracias al principio de diseño "programar hacia interfaces, no implementaciones" y al DI container (spring) no tengo que modificar el código ya existente, lo cual me recuerda otro principio "cerrado para modificación, abierto para extensión".
Configurar acegi era una tarea compleja, la primera vez que lo hice me llevo tiempo. Pero estos tutoriales me ayudaron mucho:
Para entender como funciona acegi:
Ahora, unos años después, leo que spring security facilitó esta tarea:
Paso a paso para configurar spring security:
1. Bajar spring security
2. Copiar spring-security-core.jar a WEB-INF/lib
3. Configurar web.xml. En este caso configuré el http filter (chain of responsability) de spring security para que verifique seguridad solamente sobre los request a /services y a *.html. El resto son recursos estáticos que no requieren seguridad:
4. Configurar spring security context:
Con esto tenemos una aplicación web con seguridad básica basada en spring security. El framework provee muchas más funcionalidades:
Saludos!
1 comentario:
Muy buen post, si os interesa yo también he montado un tutorial sobre el la configuración de Spring Security
http://www.proyectosbds.com/blog/framework-spring-v-3-1-1-spring-security-v-3-1-0-acl-mysqlconnector-bd/#more-417
Publicar un comentario