Symfony 授予对安全中多个角色的路径访问权限.yml

2022-08-30 13:31:00

嗨,我希望能够允许访问基于用户具有,或.security.ymlROLE_TEACHERROLE_ADMIN

根据 symfony 2 中同一 url 需要多个角色的问题,下面的条目应允许任一角色访问。

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

但是,这将只允许顶级角色访问。有没有办法让多个角色访问单个路径?


答案 1

这是要走的路,也是我正在使用的东西:

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

答案 2

您可以在 以下位置使用角色层次结构:security.yml

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]

#...

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

因此,所有这些角色都将有权访问该路径。


推荐