Ricerca…


Gestione della sicurezza

La sicurezza faceva parte del lato oscuro della documentazione di symfony, ha un componente dedicato chiamato Componente di sicurezza .

Questo componente è configurato nel file security.yml del progetto principale dell'applicazione.

La configurazione di default è come questa:

# app/config/security.yml
security:
    providers:
        in_memory:
            memory: ~
    
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        default:
            anonymous: ~

È possibile definire firewall specifici per limitare l'accesso a qualche URL a ruoli specifici in base a una gerarchia per gli utenti definita da un provider e codificatori che gestiscono la sicurezza della password.

Ad esempio, se si desidera creare un provider personalizzato, dal proprio motore di database, è possibile definire security.yml in questo modo:

providers:
    your_db_provider:
        entity:
            class: AppBundle:User
            property: apiKey

Questo è dettagliato nella documentazione di symfony: come definire un UserProvider personalizzato e, ad esempio, dal database o contro LDAP .

Dopodiché, puoi definire un firewall per limitare alcuni URL in base al tuo fornitore utente personalizzato (security.yml) in modo esplicito come questo:

firewalls:
    secured_area:
        pattern: ^/admin

O con controllo degli accessi :

access_control:
 - { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
 - { path: ^/admin, roles: ROLE_ADMIN }

Vedi più documentazione dettagliata qui .

Il modo migliore per gestire l'utente è utilizzare FosUserBundle che estende alcune funzionalità di framework.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow