Security SonataAdminBundle安全角色

Security SonataAdminBundle安全角色,security,symfony,symfony-sonata,Security,Symfony,Symfony Sonata,我正试图在SonataAdminBundle中获得一些管理员 我用fosUserBundle添加SonataUserBundle用于登录。 因此,我可以添加用户、组和角色 在security.yml中 role_hierarchy: ROLE_ADMIN: ROLE_ADMIN ROLE_IT: ROLE_IT ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_IT] access_control: - { path: ^/sonata/

我正试图在SonataAdminBundle中获得一些管理员

我用fosUserBundle添加SonataUserBundle用于登录。 因此,我可以添加用户、组和角色

在security.yml中

role_hierarchy:
    ROLE_ADMIN: ROLE_ADMIN
    ROLE_IT: ROLE_IT
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_IT]


access_control:
    - { path: ^/sonata/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/sonata/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/sonata/login-check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/sonata, role: [ROLE_ADMIN] }
    - { path: ^/sonata/api/monolog, role: [ROLE_IT] }
我必须接通索纳塔

但是每个用户都可以访问route/sonata/api/monolog,即使他们没有角色

如何保护管理员的安全
如果用户可以访问该链接,我如何才能显示该链接?管理员用户必须在active security token中拥有所有角色


如果您没有处于当前状态的所有角色,则应激活内存安全提供程序,并使用所有角色和重新授权指定您的帐户。

管理员用户必须在活动安全令牌中具有所有角色


如果当前状态下没有所有角色,则应激活内存安全提供程序,并使用所有角色指定帐户并重新授权。

使用acl作为安全处理程序


参考资料:

使用acl作为安全处理程序


参考资料:

我正在进行这种安全控制,这个答案似乎是正确的,而且有更多的投票权,但我无法理解答案。我使用的是Symfony 2.7.1,我在做这种安全控制,这个答案似乎是正确的,并且有更多的投票权,但我无法理解答案。我使用的是symfony2.7.1