Security Symfony 2-Sonata管理员基于角色的安全性
对于Sonata,我尝试使用基于角色的安全性 我想给一个组,列出、编辑和创建用户的权限,所以我创建了一个角色Security Symfony 2-Sonata管理员基于角色的安全性,security,symfony,acl,symfony-sonata,Security,Symfony,Acl,Symfony Sonata,对于Sonata,我尝试使用基于角色的安全性 我想给一个组,列出、编辑和创建用户的权限,所以我创建了一个角色 ROLE_MANAGE_USERS: - ROLE_SONATA_USER_ADMIN_USER_EDIT - ROLE_SONATA_USER_ADMIN_USER_LIST - ROLE_SONATA_USER_ADMIN_USER_CREATE 这很好,但根据,我理解用户被授予 ROLE_SONATA_USER_STAFF 应该已经继承了[编辑、列出、创
ROLE_MANAGE_USERS:
- ROLE_SONATA_USER_ADMIN_USER_EDIT
- ROLE_SONATA_USER_ADMIN_USER_LIST
- ROLE_SONATA_USER_ADMIN_USER_CREATE
这很好,但根据,我理解用户被授予
ROLE_SONATA_USER_STAFF
应该已经继承了[编辑、列出、创建]
的权限,但情况似乎并非如此
我也试过了
ROLE_SONATA_USER_ADMIN_USER_STAFF
有什么我误解了吗?我想不是这样的。首先,要编辑的主要角色的名称取决于服务名称。例如,如果管理员的服务是
sonata.user.admin
,那么角色将是,例如:
ROLE_SONATA_USER_ADMIN_LIST
ROLE_SONATA_USER_ADMIN_VIEW
如您所见,前缀始终为ROLE
(symfony 2要求),后跟服务名称(但点与下划线和所有大写字母交换),并以特定权限的前缀结尾:
- 列表:查看对象列表
- 视图:查看一个对象的详细信息
- 创建:创建新对象
- 编辑:更新现有对象
- 删除:删除现有对象
- 导出:(用于本地奏鸣曲导出链接)
security:
role_hierarchy:
# Setting up
ROLE_SONATA_USER_STAFF:
- ROLE_SONATA_USER_ADMIN_EDIT
- ROLE_SONATA_USER_ADMIN_LIST
- ROLE_SONATA_USER_ADMIN_CREATE
# using the staff role to create new roles
ROLE_MANAGE_USERS: [ROLE_SONATA_USER_STAFF]
我明白了,我不明白这是一个例子。