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ó