Symfony accorde l'accès au chemin d'accès à plusieurs rôles dans la sécurité.yml

Salut je voudrais pouvoir autoriser l'accès à un chemin dans security.yml basé sur l'utilisateur ayant soit ROLE_TEACHER , ou ROLE_ADMIN .

selon la question dans plusieurs rôles requis pour la même url dans symfony 2 l'entrée ci-dessous devrait permettre l'accès à l'un ou l'autre des rôles.

- { path: ^/admin, roles: ROLE_ADMIN}
- { path: ^/admin, roles: ROLE_TEACHER}

cependant, cela ne permettra que l'accès aux rôles principaux. Est-il un moyen d'avoir plusieurs rôle de l'accès à un seul chemin?

24
demandé sur Community 2013-10-18 19:25:06

2 réponses

C'est la façon de faire et ce que je suis en utilisant:

- { path: ^/admin, roles: [ROLE_ADMIN, ROLE_TEACHER] }
70
répondu Udan 2013-10-18 15:36:53

vous pouvez utiliser la hiérarchie des rôles dans security.yml :

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]

#...

access_control:
    - { path: ^/admin, roles: ROLE_TEACHER}

donc tous ces rôles auront accès à ce chemin.

12
répondu sergekv 2013-10-18 16:47:07