0

我如何在奏鸣曲管理包中使用类字段范围设置 ACL

到目前为止,使用 SonataAdminBundle 设置 ACL 非常简单。现在我想深入挖掘一下。但我找不到任何关于类字段范围的文档。

我想做的是以下几点:

假设我有一个产品实体。现在我想限制 ROLE_ADMIN_PRODUCT_STAFF 用户对该实体的“field_XY”的访问。

ROLE_ADMIN_PRODUCT_EDITOR 应该可以访问(VIEW,EDIT)它。

有人有过这种要求的经验吗?!

4

1 回答 1

2

您可以在 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');
    }
}
于 2012-05-21T12:47:24.987 回答