我在我的Symfony2项目中使用FosUserBundle。我为自定义ROLE_VALIDE
添加了一条规则来限制/user
之类的路径。它适用于具有此角色的用户。
问题是我还希望管理员能够访问此路径。
我已经使用ROLE_ADMIN
和ROLE_ADMIN + ROLE_VALIDE
两个角色进行了测试,但我有403错误页面。
有没有办法在access_control
中添加多个角色?
access_control:
- { path: ^/admin, role: ROLE_ADMIN }
- { path: ^/user, role: ROLE_VALIDE }
答案 0 :(得分:1)
security.yml中的角色层次结构怎么样?
doc: http://symfony.com/doc/current/book/security.html#hierarchical-roles
role_hierarchy:
ROLE_USER: [ROLE_USER]
ROLE_VALIDE: [ROLE_USER, ROLE_VALIDE]
ROLE_ADMIN: [ROLE_USER, ROLE_VALIDE, ROLE_ADMIN]
有了这个,如果路由等待ROLE_VALIDE
,ROLE_ADMIN
就可以,因为其中有ROLE_VALIDE
。