使用角色保护管理员

Protect admin with roles

我希望只有具有 A​​DMINENSEIGNANT 角色的用户可以访问管理部分,但我仍然获得 A​​ccess即使我验证为 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] }

我认为您给用户的 ENSEIGNANT 而不是 ROLE_ENSEIGNANT,但您的访问控制正在检查 ROLE_ENSEIGNANT,这就是您收到拒绝访问异常的原因。尝试将 getRoles 方法更改为 return ROLE_ENSEIGNANT 如果有的话..