【问题标题】:How can i assign the ROLE permission with symfony ACL如何使用 symfony ACL 分配 ROLE 权限
【发布时间】:2014-04-04 06:05:35
【问题描述】:

我正在学习本教程

http://symfony.com/doc/current/cookbook/security/acl.html#creating-an-acl-and-adding-an-ace

$acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);

这使得当前登录的用户拥有OWNER权限,他可以编辑、删除所有东西。

现在我想为ROLE_EDIT 用户添加EDIT 权限 和MASTERROLE_ADMIN 用户的权限

我可以在那里分配角色

【问题讨论】:

    标签: php symfony acl


    【解决方案1】:

    你可以这样做:

        $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);
    

    这里的神奇之处在于,不是使用实体 object 启动 ObjectIdentity 然后使用 insertObjectAce ,而是需要先使用实体​​ class 启动 ObjectIdentity 然后使用insertClassAce 用于基于角色的 $securityIdentity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      相关资源
      最近更新 更多