我有知识缺乏Symfony的ACL是如何工作的,尤其是在使用奏鸣曲......索纳塔管理 - 将权限分配给角色
索纳塔有一定的权限,如:
LIST - 查看对象
列表VIEW - 查看一个对象的细节
CREATE - 创建新的对象
编辑 - 更新现有的对象
删除 - 删除现有对象
EXPORT - (对于本地索纳塔导出链接)
ALL-补助LIST,查看,创建,编辑,删除和出口
我还指定了自己的自定义操作我自己创建的权限:
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
现在取决于角色的用户应该能够有一定的权限。
E.g. ROLE_ADMIN
应该有LIST, VIEW, EDIT, EXPORT
和ROLE_SUPER_ADMIN
应该被授予ALL
。
我该如何管理它?
P.S.我没有使用SonataUserBundle
!
给出了这样一个很好的例子。谢谢! –