Zoeken…


Beveiliging beheren

Beveiliging was een onderdeel van de donkere kant van de symfony-documentatie, het heeft een speciale component genaamd Beveiligingscomponent .

Deze component is geconfigureerd in het bestand security.yml van het hoofdtoepassingsproject.

De standaardconfiguratie is als deze:

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

        default:
            anonymous: ~

U kunt specifieke firewalls definiëren om de toegang tot bepaalde URL's te beperken tot specifieke rollen op basis van een hiërarchie voor uw gebruikers die worden gedefinieerd door een provider en encoders die de wachtwoordbeveiliging beheren.

Als u bijvoorbeeld vanuit uw database-engine een aangepaste Provider wilt maken, kunt u uw security.yml als volgt definiëren:

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

Dit wordt gedetailleerd beschreven in de symfony-documentatie: een aangepaste UserProvider definiëren en bijvoorbeeld vanuit de database of tegen LDAP .

Daarna kunt u de firewall definiëren om bepaalde URL's op basis van uw aangepaste gebruikersprovider (security.yml) expliciet als volgt te beperken:

firewalls:
    secured_area:
        pattern: ^/admin

Of met toegangscontrole :

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

Meer gedetailleerde documentatie hier .

De beste manier om de gebruiker te beheren is om FosUserBundle te gebruiken dat enkele raamwerkfuncties uitbreidt.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow