Symfony2 - ACL kiegészítés
Sziasztok!
Olyan problémába futottam, bele amire nem találok megoldást. Symfony2 ACL listát szeretném kiegészíteni új ACE objektumokkal, viszont mikor az AclProvider -től lekérem a listát, akkor nincs benne az insertObjectAce metódus, amivel hozzá tudnék adni új bejegyzést.
Ha törlöm és újból létrehozom a domain objektumhoz a listát, akkor elérhető.
Van valami megoldás arra, hogy ne kelljen törölni, hanem simán hozzá tudjak adni?
Jelenleg így néz ki:
■ Olyan problémába futottam, bele amire nem találok megoldást. Symfony2 ACL listát szeretném kiegészíteni új ACE objektumokkal, viszont mikor az AclProvider -től lekérem a listát, akkor nincs benne az insertObjectAce metódus, amivel hozzá tudnék adni új bejegyzést.
Ha törlöm és újból létrehozom a domain objektumhoz a listát, akkor elérhető.
Van valami megoldás arra, hogy ne kelljen törölni, hanem simán hozzá tudjak adni?
Jelenleg így néz ki:
$aclProvider = $this->getAclProvider();
$objectIdentity = ObjectIdentity::fromDomainObject($domainObject);
$acl = $aclProvider->findAcl($objectIdentity);
$objectAces = $acl->getObjectAces();
// Itt még nem érhető el az insertObjectAce metódus az $acl -ből
$aclProvider->deleteAcl($objectIdentity);
$acl = $aclProvider->createAcl($objectIdentity);
// Itt viszont már elérhető az insertObjectAce metódus
// Visszatöltjük az eredeti acl -t
foreach($objectAces as $objectAce)
{
/* @var $objectAce \Symfony\Component\Security\Acl\Domain\Entry */
$mask = $objectAce->getMask();
$securityIdentity = $objectAce->getSecurityIdentity();
$acl->insertObjectAce($securityIdentity, $mask);
}
// További ObjectAce hozzáadása
Nincs benne, vagy csak IDE nem írja ki?
Valóban
Nincs mit :) Azért egy
if (!$acl instanceof MutableAclInterface) {
throw new \Exception('Not implemented');
}
Validáció