繁体   English   中英

Sonata Admin-为角色分配权限

[英]Sonata Admin - assign permissions to roles

我不了解Symfony ACL的工作原理,尤其是使用Sonata时。

奏鸣曲具有一些权限,例如:

LIST-查看对象列表

查看-查看一个对象的详细信息

创建-创建一个新对象

编辑-更新现有对象

删除-删除现有对象

出口-(用于本地奏鸣曲出口链接)

ALL-授予LIST,VIEW,CREATE,EDIT,DELETE和EXPORT

我还为自己的自定义操作分配了自己创建的权限:

protected $accessMapping = array(
    'VERIFY' => 'EDIT',
    'UNVALIDATE' => 'EDIT',
    'CLOSE' => 'EDIT'
);

据我了解,我只需要授予用户EDIT权限即可进行VERIFYUNVALIDATECLOSE

管理员用户可以具有3个角色:

security:
    role_hierarchy:
        ROLE_ADMIN: ROLE_SONATA_ADMIN
        ROLE_SUPER_ADMIN: ROLE_ADMIN

现在,根据角色,用户应该可以具有某些权限。

例如, ROLE_ADMIN应该具有LIST, VIEW, EDIT, EXPORT并且ROLE_SUPER_ADMIN应该被授予ALL

我该如何管理?

PS我不使用SonataUserBundle

我通常要做的只是使用SecurityVoters

http://www.branchbit.be/blog/using-custom-voters-in-sonata-admin

这为您提供了一种简单的方法,可以检查角色,权限和对象属性,并确定特定用户是否允许对特定对象执行特定操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM