我有知識缺乏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
!
給出了這樣一個很好的例子。謝謝! –