ugrás a tartalomhoz

Archívum - Jún 22, 2015

Symfony2 - ACL kiegészítés

DarkHcK · 2015. Jún. 22. (H), 10.18
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:

$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