SonataAdminBundle 安全角色 [英] SonataAdminBundle Security roles

查看:57
本文介绍了SonataAdminBundle 安全角色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试保护 SonataAdminBundle 中的一些管理员

我添加了 SonataUserBundle 和 fosUserBundle 用于登录.所以我可以添加用户、组和角色

在 security.yml 中

role_hierarchy:ROLE_ADMIN:ROLE_ADMINROLE_IT:ROLE_ITROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_IT]访问控制:- { 路径:^/sonata/login$,角色:IS_AUTHENTICATED_ANONYMOUSLY }- { 路径:^/sonata/logout$,角色:IS_AUTHENTICATED_ANONYMOUSLY }- { 路径:^/sonata/login-check$,角色:IS_AUTHENTICATED_ANONYMOUSLY }- { 路径:^/奏鸣曲,角色:[ROLE_ADMIN] }- { 路径:^/sonata/api/monolog,角色:[ROLE_IT] }

我必须连接才能访问奏鸣曲

但是每个用户即使没有 ROLE_IT 也可以访问路由/sonata/api/monolog

如何保护管理员的安全如果用户可以访问,我怎么能只显示链接

解决方案

使用 acl 作为安全处理程序.

资源:SonataAdminBundle 安全

I'm trying to secure some admin in SonataAdminBundle

I add SonataUserBundle with fosUserBundle for login. So I can add users, groups and roles

in 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] }

I have to be connected to access Sonata

But every user can access the route /sonata/api/monolog even if they don't have ROLE_IT

How can I securize an Admin And how can I only display the link if the user can acces to it

解决方案

Use acl as the security handler.

Resources: SonataAdminBundle Security

这篇关于SonataAdminBundle 安全角色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆