Buscar..
Gestionando la seguridad
La seguridad era parte del lado oscuro de la documentación de Symfony, tiene un componente dedicado llamado Componente de Seguridad .
Este componente se configura en el archivo security.yml del proyecto principal de la aplicación.
La configuración por defecto es como esta:
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
Puede definir cortafuegos específicos para restringir el acceso a algunas URL a roles específicos basados en una jerarquía para sus usuarios que están definidos por un proveedor y codificadores que administran la seguridad de la contraseña.
Por ejemplo, si desea crear un proveedor personalizado, desde su motor de base de datos, puede definir su security.yml así:
providers:
your_db_provider:
entity:
class: AppBundle:User
property: apiKey
Esto se detalla en la documentación de Symfony: cómo definir un UserProvider personalizado y desde la base de datos o contra LDAP, por ejemplo.
Después de eso, puede definir un firewall para restringir algunas URL basadas en su proveedor de usuario personalizado (security.yml) explícitamente de esta manera:
firewalls:
secured_area:
pattern: ^/admin
O con control de acceso :
access_control:
- { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/admin, roles: ROLE_ADMIN }
Ver más documentación detallada aquí .
La mejor manera de administrar usuarios es usar FosUserBundle que extiende algunas funcionalidades del marco.