使用角色保护管理员

时间:2015-05-17 17:51:38

标签: symfony roles access-control

我希望只有 ADMIN ENSEIGNANT 角色的用户才能访问管理员部分,但即使我进行身份验证,我仍然可以拒绝访问 ENSEIGNANT

role_hierarchy:
    ROLE_ADMIN:      [ROLE_ENSEIGNANT]
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

//...........


access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, roles: [ROLE_ADMIN, ROLE_ENSEIGNANT] }

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为您向用户ENSEIGNANT提供ROLE_ENSEIGNANT,但您的访问控制正在检查ROLE_ENSEIGNANT,这就是您获取访问权限的原因否认例外。如果有任何问题,请尝试更改getRoles方法以返回ROLE_ENSEIGNANT