繁体   English   中英

如何使用symfony ACL分配ROLE权限

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM