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

时间:2013-10-18 15:25:06

标签: php security symfony roles access-control

您好我希望能够根据用户security.ymlROLE_TEACHER访问ROLE_ADMIN中的路径。

根据Multiple roles required for same url in symfony 2中的问题,下面的条目应该允许角色访问。

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

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

2 个答案:

答案 0 :(得分:74)

这是要走的路和我正在使用的方式:

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

答案 1 :(得分:13)

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

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]

#...

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

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