Sök…


Hantera säkerhet

Säkerhet var en del av den mörka sidan av symfonidokumentationen, den har en dedikerad komponent med namnet Security Component .

Den här komponenten är konfigurerad i säkerheten.yml- filen i huvudprogrammet.

Standardkonfigurationen är som den här:

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

        default:
            anonymous: ~

Du kan definiera specifika brandväggar för att begränsa åtkomst till vissa URL till specifika roller baserat på en hierarki för dina användare som definieras av en leverantör och kodare som hanterar lösenordssäkerheten.

Om du till exempel vill skapa en anpassad leverantör från din databasmotor kan du definiera säkerhets.yml så här:

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

Detta avlägsnas i symfonidokumentationen: Hur man definierar en anpassad UserProvider och från databasen eller mot LDAP till exempel.

Efter det kan du definiera brandväggen för att begränsa vissa URL baserat på din anpassade användarleverantör (security.yml) uttryckligen så här:

firewalls:
    secured_area:
        pattern: ^/admin

Eller med åtkomstkontroll :

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

Se mer detaljerad dokumentation här .

Det bästa sättet att hantera användare är att använda FosUserBundle som utvidgar vissa ramfunktionaliteter.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow