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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow