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


Symfony granting path access to multiple roles in security.yml

嗨,我希望能够根据用户具有ROLE_TEACHERROLE_ADMIN来允许访问security.yml中的路径。

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

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

但是,这将仅允许最高角色访问。 有没有办法对单个路径进行多个角色访问?

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

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

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

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]
#...
access_control:
    - { path: ^/admin, roles: ROLE_TEACHER}

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