Sonata Admin - 为角色分配权限
Sonata Admin - assign permissions to roles
我不了解 Symfony ACL 的工作原理,尤其是使用 Sonata...
奏鸣曲有一些权限,例如:
LIST - view the list of objects
VIEW - view the detail of one object
CREATE - create a new object
EDIT - update an existing object
DELETE - delete an existing object
EXPORT - (for the native Sonata export links)
ALL- grants LIST, VIEW, CREATE, EDIT, DELETE and 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
!
我通常做的就是使用 SecurityVoters
http://www.branchbit.be/blog/using-custom-voters-in-sonata-admin
这为您提供了一种简单的方法来检查角色、权限和对象属性,并确定特定用户是否允许对特定对象执行特定操作。
我不了解 Symfony ACL 的工作原理,尤其是使用 Sonata...
奏鸣曲有一些权限,例如:
LIST - view the list of objects
VIEW - view the detail of one object
CREATE - create a new object
EDIT - update an existing object
DELETE - delete an existing object
EXPORT - (for the native Sonata export links)
ALL- grants LIST, VIEW, CREATE, EDIT, DELETE and 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
!
我通常做的就是使用 SecurityVoters
http://www.branchbit.be/blog/using-custom-voters-in-sonata-admin
这为您提供了一种简单的方法来检查角色、权限和对象属性,并确定特定用户是否允许对特定对象执行特定操作。