Symfony2: ClassACE и ObjectACE

Класс ACL имеет разрешения для всех объектов этого класса? Или иметь только разрешение на себя, а не на объекты? Позвольте мне объяснить на Symfony2:

У меня есть Entity Order и 5 Созданных Заказов. Если я дам разрешение владельца классу Order, у меня есть гранты для редактирования всех объектов?

$objectIdentity = new ObjectIdentity('class', 'Acme\DemoBundle\Entity\Order'); $securityIdentity = new RoleSecurityIdentity($role->getRole()); $acl = $aclProvider->createAcl($objectIdentity); $acl->insertClassAce($securityIdentity, MaskBuilder::MASK_OWNER); $aclProvider->updateAcl($acl); 

EDIT На самом деле у меня есть 2 проблемы:

ПЕРВАЯ ПРОБЛЕМА: Проблема заключается в том, что я использую RoleSecurityIdentity. Это не работает для меня. Если я использую UserSecurityIdentity, отлично работает для каждого объекта. Этот пример отлично работает:

  foreach($orders as $order) { $objectIdentity = ObjectIdentity::fromDomainObject($salesOrder); $acl = $aclProvider->createAcl($objectIdentity); $securityIdentity = new UserSecurityIdentity( 'admin', 'Acme\CoreBundle\Entity\User'); $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER); $aclProvider->updateAcl($acl); } 

У пользователя Admin есть гранты OWNER!

этот пример не работает:

  foreach($orders as $order) { $objectIdentity = ObjectIdentity::fromDomainObject($salesOrder); $acl = $aclProvider->createAcl($objectIdentity); $securityIdentity = new RoleSecurityIdentity('ROLE_ADMIN'); $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER); $aclProvider->updateAcl($acl); } 

Пользователи с ROLE_ADMIN не имеют грантов для объектов!

ВТОРАЯ ПРОБЛЕМА: Если я применяю гранты OWNER к классу, у меня нет грантов на доступ к объектам: позвольте мне объяснить:

  $objectIdentity = new ObjectIdentity('class', 'Neventum\PaymentBundle\Entity\SalesOrder'); $acl = $aclProvider->createAcl($objectIdentity); $securityIdentity = UserSecurityIdentity::fromAccount($admin); $acl->insertClassAce($securityIdentity, MaskBuilder::MASK_OWNER); $aclProvider->updateAcl($acl); 

Мне нужен пользователь admin всегда имеет доступ ко всем объектам объекта Order.

Solutions Collecting From Web of "Symfony2: ClassACE и ObjectACE"