0

我正在尝试配置 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

所以:AUSERBA等延伸。

问题是,当我以身份登录ADMIN或未SUPER_ADMIN获得403授权时。它仅在我被授权为A. 为什么?我在角色扩展方面做错了什么?

4

2 回答 2

0

我想它必须是

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
于 2013-10-18T19:52:56.133 回答
0

据我所知,角色层次结构应该自上而下定义。所以在上面的例子中你应该有:

role_hierarchy:
        ROLE_SUPER_ADMIN: ROLE_ADMIN
        ROLE_ADMIN:       ROLE_B
        ROLE_B:           ROLE_A
        ROLE_A:           ROLE_USER
于 2012-09-03T08:09:43.027 回答