我使用的是“角色”安全处理程序,并希望创建一个新的角色“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