我如何在奏鸣曲管理包中使用类字段范围设置 ACL
到目前为止,使用 SonataAdminBundle 设置 ACL 非常简单。现在我想深入挖掘一下。但我找不到任何关于类字段范围的文档。
我想做的是以下几点:
假设我有一个产品实体。现在我想限制 ROLE_ADMIN_PRODUCT_STAFF 用户对该实体的“field_XY”的访问。
ROLE_ADMIN_PRODUCT_EDITOR 应该可以访问(VIEW,EDIT)它。
有人有过这种要求的经验吗?!
我如何在奏鸣曲管理包中使用类字段范围设置 ACL
到目前为止,使用 SonataAdminBundle 设置 ACL 非常简单。现在我想深入挖掘一下。但我找不到任何关于类字段范围的文档。
我想做的是以下几点:
假设我有一个产品实体。现在我想限制 ROLE_ADMIN_PRODUCT_STAFF 用户对该实体的“field_XY”的访问。
ROLE_ADMIN_PRODUCT_EDITOR 应该可以访问(VIEW,EDIT)它。
有人有过这种要求的经验吗?!
您可以在 configureFormFields() 方法中使用 $this->isGranted('ROLE_ADMIN_PRODUCT_STAFF') 根据当前登录用户的角色添加字段。
例子:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('first_field')
->add('second_field');
if ($this->isGranted('ROLE_ADMIN_PRODUCT_STAFF') {
$formMapper
->add('field_XY');
}
}