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.