[英]How can i assign the ROLE permission with symfony ACL
我正在关注本教程
http://symfony.com/doc/current/cookbook/security/acl.html#creating-an-acl-and-adding-an-ace
$acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);
这使得当前拥有OWNER
权限的抢劫用户可以编辑,删除evrything。
现在与我一起想添加EDIT
权限ROLE_EDIT
用户和MASTER
权限ROLE_ADMIN
用户
我可以在那里分配角色吗
您可以按照以下步骤进行操作:
$aclProvider = $this->getContainer()->get('security.acl.provider');
// Use class for object identity as below
$oid = new ObjectIdentity('acme_post', 'Your\\AcmeBundle\\Entity\\Post');
$acl = $aclProvider->createAcl($oid);
$securityIdentity = new RoleSecurityIdentity("ROLE_ADMIN");
// grant owner access to users with above role
$acl->insertClassAce($securityIdentity, MaskBuilder::MASK_OWNER);
这里的魔力在于,您不是使用Entity 对象来启动ObjectIdentity
而是使用insertObjectAce
,而是需要使用Entity 类来启动ObjectIdentity
,然后对基于角色的 $securityIdentity
使用insertClassAce
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.