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.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow