首页 > 关于Acl,有一点始终过不去。

关于Acl,有一点始终过不去。

用户角色:ROLE_SUPER_ADMIN ROLE_USER IS_AUTHENTICATED_ANONYMOUSLY

我要实现如下功能:
对于某个实体:创建者有MASK_OWNER权限,其他角色对该实体可以浏览和创建。

遇到了如下问题:
经过认证的角色,现在可以创建实体,然后拥有OWNER权限,可以对自己的实体做全部操作。
但其他非owner用户,则对该实体没有权限浏览:
log如下:ACL found, no ACE applicable. Voting to deny access.

我已经给上面3个角色创建了对某个实体的默认权限,如下:

$oid = new ObjectIdentity('class', $this->postClass);
        $acl = $this->aclProvider->createAcl($oid);
        $builder = new MaskBuilder()

        $builder->add('iddqd');
        $acl->insertClassAce(new RoleSecurityIdentity('ROLE_SUPER_ADMIN'), $builder->get());

        $builder->reset();
        $builder->add('create');
        $builder->add('view');
        $acl->insertClassAce(new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'), $builder->get());

        $builder->reset();
        $builder->add('create');
        $builder->add('view');
        $acl->insertClassAce(new RoleSecurityIdentity('ROLE_USER'), $builder->get());

        $this->aclProvider->updateAcl($acl);
【热门文章】
【热门文章】