我希望只有 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] }
答案 0 :(得分:1)
我认为您向用户ENSEIGNANT
提供ROLE_ENSEIGNANT
,但您的访问控制正在检查ROLE_ENSEIGNANT
,这就是您获取访问权限的原因否认例外。如果有任何问题,请尝试更改getRoles
方法以返回ROLE_ENSEIGNANT