Sonata 管理员 - 为角色分配权限



我缺乏对Symfony ACL工作原理的了解,尤其是使用Sonata...

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

列表 - 查看对象列表

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

创建 - 创建新对象

编辑 - 更新现有对象

删除 - 删除现有对象

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

全部授予列表、查看、创建、编辑、删除和导出

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

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, EXPORTROLE_SUPER_ADMIN应该被授予ALL

我该如何管理它?

附言我没有使用SonataUserBundle

我通常做的只是使用 SecurityVoters

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

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

相关内容

  • 没有找到相关文章

最新更新