Php 对象标识已与acl关联
我尝试为ACL管理创建3个函数Php 对象标识已与acl关联,php,symfony,acl,event-listener,Php,Symfony,Acl,Event Listener,我尝试为ACL管理创建3个函数 public function postPersist(LifeCycleEventArgs $event){ $em = $event->getEntity(); $entity = $event->getEntity(); $aclProvider = $this->container->get('security.acl.provider'); $objectIdentity = ObjectIden
public function postPersist(LifeCycleEventArgs $event){
$em = $event->getEntity();
$entity = $event->getEntity();
$aclProvider = $this->container->get('security.acl.provider');
$objectIdentity = ObjectIdentity::fromDomainObject($entity);
try {
$acl = $aclProvider->findAcl($objectIdentity);
} catch (AclNotFoundException $e) {
$acl = $aclProvider->createAcl($objectIdentity);
}
$securityContext = $this->container->get('security.context');
$token = $securityContext->getToken();
$securityIdentity = UserSecurityIdentity::fromToken($token);
$acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);
$aclProvider->updateAcl($acl);
}
每当一个用户创建某个内容时,该服务就会创建ACL。(Eventlistener)
但是现在我有一个小问题。
我删除MySQL数据库的洞,每当我创建一个新实体时,就会出现以下错误消息
给定对象标识没有ACL
然后我从这个函数中删除try和catch,只让createACL,然后我得到
对象标识已与acl关联
我不明白这一点,当然我的数据库是空的
非常感谢您的帮助。除了删除数据库之外,您是否尝试过清除整个缓存?这对我不起作用。我遇到了相同的错误“给定对象标识没有ACL”