SonataAdminBundle 安全角色 [英] SonataAdminBundle Security roles
本文介绍了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 作为安全处理程序.
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屋!
查看全文