Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

¿Como crear un Login en Symfony 2: con Usuarios y Roles desde una Base de datos

4 de junio de 2016

Hola cordial saludo, lo que deseo saber es como puedo crear un Login utilizando tres tablas: Usuarios Roles Ususarios_Roles

En Internet he encontrado cantidad de tutoriales pero algunos tiene los roles estáticos, los cuales si quiero cambiar debo hacerlo mediante código, todo lo contrario a lo que deseo hacer, que los roles sean extraídos de la base de datos y según eso se le permita el acceso a ciertas paginas a dicho usuario.

Les agradezco inmensamente si me pueden colaborar con algún link hacia un tutorial que me sirva de ejemplo, es para mi proyecto de grado y no tengo mucho tiempo. Gracias!


Respuestas

#1

En mi opinión estás complicando las cosas innecesariamente. En Symfony, los roles de los usuarios son una propiedad de la clase User, por lo que son tan dinámicos como cualquier otra propiedad. Muchas aplicaciones hacen un simple return array('ROLE_USER') en el método getRoles() ... pero nada impide a tu aplicación manejas esta propiedad roles y asignar/desasignar roles mediante una interfaz de administración.

Por otra parte, para restringir el acceso a determinadas acciones y recursos en función de los roles, la recomendación es combinar access_control, @Security y voters según tus necesidades. Cuándo utilizar cada una se explica brevemente en este capítulo de las buenas prácticas oficiales de Symfony.

@javiereguiluz

4 junio 2016, 19:11
#2

Hola @YulianDavid94,

Creo que estás reinventando la rueda. Te aconsejo usar el FOSUserBundle que ya trae todo lo que necesitas con la leve diferencia que los roles lo manejan con grupos.

Revísate la documentación de FOSUserBundle

Saludos.

@miguelplazasr

5 junio 2016, 5:15
#3

@javiereguiluz @miguelplazasr Gracias por responder, ya he implementado FOSUserBundle pero tengo la siguiente cuestion:

  • Cuando registro un nuevo Usuario este una vez guardado se Auto-Logea, ¿Como puedo desactivar eso?
  • ¿de que manera puedo agregar un Choice en el Form de Register, para cuando desee agregar un nuevo usuario, pueda seleccionar el grupo al que pertenece.

Gracias!

@YulianDavid94

9 junio 2016, 0:16