删除Symfony2中的实体时删除ACL

Dav*_*les 9 symfony

在食谱中输入此条目之后,ACL系统很容易为实体实现:http://symfony.com/doc/current/cookbook/security/acl.html

好吧,现在让我们说我删除了实体(我的意思是,我的数据库的一行).为什么ACL仍在那里?我如何删除其相关的ACL以保持我的数据库清洁?

Dav*_*les 11

经过研究,我找到了一个有效的清洁解决方案:

$aclProvider = $this->get('security.acl.provider');
$objectIdentity = ObjectIdentity::fromDomainObject($entity);
$aclProvider->deleteAcl($objectIdentity);
Run Code Online (Sandbox Code Playgroud)