web-dev-qa-db-fra.com

Symfony accordant l'accès au chemin d'accès à plusieurs rôles dans security.yml

Salut, je voudrais pouvoir autoriser l'accès à un chemin dans security.yml sur la base de l'utilisateur ayant 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 autoriser l'accès aux deux rôles.

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

Cependant, cela n'autorisera que l'accès au rôle supérieur. Existe-t-il un moyen d'accéder à plusieurs rôles à un seul chemin?

29
nmcilree

C'est la voie à suivre et ce que j'utilise:

- { path: ^/admin, roles: [ROLE_ADMIN, ROLE_TEACHER] }
81
Udan

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}

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

14
Serge Kvashnin