我使用的是「角色」安全處理程序,並希望創建一個新的角色「ROLE_SONATA_ADMIN」,並授予所有權限的話,如:索納塔管理員捆綁授予權限的自定義管理員角色
ROLE_SONATA_ADMIN: [MASTER]
的只有這樣,我可以給予我的用戶的所有權限是給它security.yml:
ROLE_SONATA_ADMIN:
- ROLE_SUPER_ADMIN
,但我不希望包括ROLE_SUPER_ADMIN在我的角色,我將可能要在未來增加一些限制
我試圖ACL
handler: sonata.admin.security.handler.role
但得到使用:
Argument 2 passed to Sonata\AdminBundle\Security\Handler\AclSecurityHandler::__construct() must be an instance of Symfony\Component\Security\Acl\Model\MutableAclProviderInterface
角色處理程序是足以讓我和我不需要ACL
如何創建角色並授予權限它?我讀過的文件,但還是不明白
編輯:我現在明白了:每一個實體,我需要通過在security.yml角色與ROLE_SONATA_ADMIN_ [服務名稱] _ [權限]設置權限
我的服務名稱是:sonata.admin.widget
這裏的解決方案:
ROLE_SONATA_WIDGET_ADMIN:
- ROLE_SONATA_ADMIN_WIDGET_LIST
- ROLE_SONATA_ADMIN_WIDGET_VIEW
- ROLE_SONATA_ADMIN_WIDGET_CREATE
- ROLE_SONATA_ADMIN_WIDGET_EDIT
- ROLE_SONATA_ADMIN_WIDGET_DELETE
- ROLE_SONATA_ADMIN_WIDGET_EXPORT
ROLE_SONATA_ADMIN:
- ROLE_SONATA_WIDGET_ADMIN