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