用户角色: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);