【发布时间】:2017-10-16 15:47:36
【问题描述】:
我不了解 Symfony ACL 的工作原理,尤其是使用 Sonata...
Sonata 有一些权限,例如:
LIST - 查看对象列表
VIEW - 查看一个对象的详细信息
CREATE - 创建一个新对象
编辑 - 更新现有对象
DELETE - 删除现有对象
EXPORT -(用于原生奏鸣曲导出链接)
ALL- 授予 LIST、VIEW、CREATE、EDIT、DELETE 和 EXPORT
我还为我自己的自定义操作分配了我自己创建的权限:
protected $accessMapping = array(
'VERIFY' => 'EDIT',
'UNVALIDATE' => 'EDIT',
'CLOSE' => 'EDIT'
);
据我了解,我只需要授予用户 EDIT 权限即可使用 VERIFY、UNVALIDATE 和 CLOSE。
管理员用户可以有 3 个角色:
security:
role_hierarchy:
ROLE_ADMIN: ROLE_SONATA_ADMIN
ROLE_SUPER_ADMIN: ROLE_ADMIN
现在根据角色用户应该能够拥有某些权限。
例如ROLE_ADMIN 应该有 LIST, VIEW, EDIT, EXPORT 和 ROLE_SUPER_ADMIN 应该被授予 ALL。
我该如何管理它?
P.S.我没有使用SonataUserBundle!
【问题讨论】:
标签: symfony acl sonata-admin sonata symfony-2.8