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

Cómo crear listas de accesos dinámicas con Symfony

12 de junio de 2015

Hola quisiera saber cómo puedo hacer para crear access_control dinámicamente. Digamos que en mi fichero security.yml tengo en access_control un grupo de URLs por defectos con sus roles para acceder. Ahora si quisiera crear una nueva URL y su respectivo rol o roles para acceder dinámicamente cómo pudiera hacer, es decir, guardar esa access_control en una BD y y gestionarla desde mi aplicación sin tener que modificar el fichero por defecto.


Respuestas

#1

La respuesta a tu pregunta es sencilla: no tienes que usar access_control en este caso. La seguridad de Symfony se divide en varios niveles, tal y como se explica en la sección sobre autorización del capítulo de seguridad del libro de buenas prácticas sobre Symfony.

El access_control no está pensado para estas autorizaciones dinámicas que quieres hacer. En este caso, la solución óptima es definir un voter. En el mismo enlace que te he pasado antes puedes ver un ejemplo de cómo se hace. Lo mejor es que dentro de un voter puedes añadir tanto código como necesites, por lo que puedes usar el servicio de Doctrine para hacer consultas a la base de datos y así comprobar si el usuario tiene permiso de acceso o no.

@javiereguiluz

12 junio 2015, 8:39
#2

Muchas gracias Javier.

@ogonzalezf

13 junio 2015, 2:36