我有一个工作的SonataAdmin + FOSUser(WITHOUT SonataUserBundle)设置,启用了角色和ACL。这工作正常,每个用户都可以访问不同的管理员,具体取决于他们的角色。
现在我需要更深入一点。我想根据底层实体的关联值来限制对其中一个管理员的访问。
让我说我有这个:
/**
* @ORM\Entity
*/
class Content
{
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="ContentType", inversedBy="contents")
*/
private $type;
}
/**
* @ORM\Entity
*/
class ContentType
{
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
}
我想要以下内容:
当然,这也意味着在创建新内容或过滤内容列表时,用户不应该选择他们没有任何权限的内容类型。
我试过这个没有运气:
php app/console acl:set --role=ROLE_XXXXX MASTER MyBundle/ContentType:2