Suche…
Sicherheit verwalten
Die Sicherheit war ein Teil der dunklen Seite der Symfony-Dokumentation. Sie enthält eine dedizierte Komponente namens Sicherheitskomponente .
Diese Komponente wird in der Datei security.yml des Hauptanwendungsprojekts konfiguriert.
Die Standardkonfiguration ist wie folgt:
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
Sie können bestimmte Firewalls definieren, um den Zugriff auf bestimmte URLs auf bestimmte Rollen zu beschränken, basierend auf einer Hierarchie für Ihre Benutzer , die von einem Provider und Encodern definiert werden, die die Kennwortsicherheit verwalten.
Wenn Sie beispielsweise einen benutzerdefinierten Provider in Ihrer Datenbank-Engine erstellen möchten, können Sie Ihre security.yml folgendermaßen definieren:
providers:
your_db_provider:
entity:
class: AppBundle:User
property: apiKey
Dies wird in der symfony-Dokumentation beschrieben: So definieren Sie einen benutzerdefinierten UserProvider, und zwar aus der Datenbank oder beispielsweise gegen LDAP .
Danach können Sie eine Firewall definieren, um bestimmte URLs basierend auf Ihrem benutzerdefinierten Benutzeranbieter (security.yml) explizit wie folgt einzuschränken:
firewalls:
secured_area:
pattern: ^/admin
Oder mit Zugangskontrolle :
access_control:
- { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/admin, roles: ROLE_ADMIN }
Weitere detaillierte Dokumentationen finden Sie hier .
Der beste Weg, um Benutzer zu verwalten, ist die Verwendung von FosUserBundle , das einige Framework-Funktionen erweitert.