Security Symfony2和安全角色配置
我正在尝试配置Symfony ACL:Security Symfony2和安全角色配置,security,symfony,acl,fosuserbundle,Security,Symfony,Acl,Fosuserbundle,我正在尝试配置Symfony ACL: access_control: - { path: ^/, role: ROLE_A } role_hierarchy: ROLE_A: ROLE_USER ROLE_B: ROLE_A ROLE_ADMIN: ROLE_B ROLE_SUPER_ADMIN: ROLE_ADMIN 所以:A从USER扩展,B从A扩展等等 问题是,当我以ADMIN或SUPER\u
access_control:
- { path: ^/, role: ROLE_A }
role_hierarchy:
ROLE_A: ROLE_USER
ROLE_B: ROLE_A
ROLE_ADMIN: ROLE_B
ROLE_SUPER_ADMIN: ROLE_ADMIN
所以:A
从USER
扩展,B
从A
扩展等等
问题是,当我以
ADMIN
或SUPER\u ADMIN
身份登录时,我得到的403
未授权。只有当我被授权为A
时,它才起作用。为什么?角色扩展有什么不对?据我所知,角色层次结构应该自上而下定义。因此,在上述示例中,您应该:
role_hierarchy:
ROLE_SUPER_ADMIN: ROLE_ADMIN
ROLE_ADMIN: ROLE_B
ROLE_B: ROLE_A
ROLE_A: ROLE_USER
我想一定是这样
role_hierarchy:
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_B, ROLE_A, ROLE_USER]
ROLE_ADMIN: [ROLE_B, ROLE_A, ROLE_USER]
ROLE_B: [ROLE_A, ROLE_USER]
ROLE_A: ROLE_USER
你能发布你的整个安全配置吗。谢谢我有一个与你非常相似的配置,我也使用FOSUserBundle(我不使用JMSSecurity extra,但我认为这不重要),我尝试了你的角色层次结构,对我来说它是有效的。嗨,Krzysztof,谢谢你的回复。根据这本书,我确信“次要”角色应该放在第一位:()。我会查一下的。看