2017-08-28 5 views
1

Ich habe FOSUserBundle und ich möchte einen einfachen Zugriff Liste Pfad, wenn ein Benutzer nicht angemeldet ist, wird es an die Anmeldeseite senden und wenn nicht ROLE_ADMIN o andere er kann nicht auf /admin Seite gehen.Symfony Zugriffskontrolle durch Rollen

Ich schreibe dies in meinem security.yml:

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/, role: IS_AUTHENTICATED_FULLY } 
    - { path: ^/admin, role: ROLE_ADMIN } 

aber jetzt alle Benutzer kann /admin page angemeldet gehen ...

ich falsch nicht verstehen. sicher

Antwort

3

Try

- { path: ^/, role: IS_AUTHENTICATED_FULLY } 
    - { path: ^/admin, role: ROLE_ADMIN } 

zu

- { path: ^/admin, role: ROLE_ADMIN } 
    - { path: ^/, role: IS_AUTHENTICATED_FULLY } 
4

Regeln werden in der Reihenfolge, wie sie so,

unter / geschrieben sind analysiert Zugang zu allen Bereichen
- { path: ^/, role: IS_AUTHENTICATED_FULLY } 

gewähren, wenn der Benutzer

Sie müssen authentifiziert letzten zwei Regeln wechseln und alle werden arbeite so, wie du es erwartest.

0

Entfernen Sie einfach

- { path: ^/, role: IS_AUTHENTICATED_FULLY } 
zu ändern
Verwandte Themen