Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Grails
Problemas con Acegi
JoseAngel - domingo 25/10/2009Hola grupo,
El problema que tengo con este plugin es que me gustaria poder heredar de la clase "User" (nombre que se usa en el tutorial oficial) que crea para 'los usuarios autentificados'.
Es decir, tengo mi aplicación con una clase padre "Persona" de la que heredan: "Administrador" y "Usuario". A la hora de meter Acegi me gustaría que "Persona" heredara de "User" para crear el menor impacto posible sobre lo que ya tengo.
Me daría igual usar este plugin como cualquier otro. Lo único que busco es dar seguridad a la aplicación.
Los tutoriales que he seguido:
http://www.grails.org/AcegiSecurity+Plugin+-+Basic+Tutorial
http://www.grails.org/AcegiSecurity+Plugin+-+Custom+UserDetailsService
Saludos y gracias.
Re: Problemas con Acegi
Nacho - lunes 26/10/2009Hola José Angel,
te recomiendo que sigas otra estrategia. Si haces que tus clases hereden de las generadas por el plugin te estarás atando a él, con lo que si en algún momento no satisface tus necesidades, o símplemente apareciera una versión nueva incompatible con tu código estarías encerrado.
Personalmente me gusta más hacer que la clase "Usuario" tenga una referencia al User, y que Administrador herede de Usuario. De esta manera, si en algún momento debes reemplazar Acegi por otro plugin siempre puedes colocar en Usuario lo que antes guardaba User y ser independiente.
De todas formas es sólo una opinión. Como sabes no existe la solución perfecta.
Saludos,
Re: Problemas con Acegi
JoseAngel - lunes 26/10/2009Hola Nacho,
Gracias por responder. Te acabo de hacer caso y he separado "las cosas" para evitar futuros problemas. Ahora tengo una relacion 1-a-1 entre la clase "User" de Acegi y mi clase "Usuario" y en esta ultima aparece un combo para seleccionar el usuario creado por Acegi cuando creo mi usuario.
Encuentro la solucion un tanto "cochina" pero imagino que luego todo esto se pueda hacer transparente para el usuario final. Digo "imagino" porque soy muy nuevo en esto de Grails.
Si existe otra forma mejor, por favor, que alguien la comparta.
Gracias de nuevo.
Saludos.
Re: Problemas con Acegi
JoseAngel - domingo 25/10/2009Hola,
He conseguido hacer que "Usuario" y "Administrador" hereden de "User". Era con la palabra 'extends'. Además, como "Usuario" tenía relaciones con otras clases tuve que añadir las relaciones que tenía "User":
static hasMany = [practicas: Practica, puntuaciones: Puntuacion, authorities: Rol]
static belongsTo = [Practica, Rol]
Ahora el problema que me encuentro es que al generar las vistas, Acegi trae su script "generate-manager.groovy" para "User" las crea bien pero para "Usuario" y "Administrador" al crearlas sin este script no las crea bien (no se muestran los roles, la contraseña no aparece oculta,...) He probado con un copiar-y-pegar de una página gsp a otra pero no funciona, evidentemente, :(
¿Alguien sabe como puedo resolverlo?
Saludos y gracias.