예제 #1
0
 /**
  * {@inheritdoc}
  */
 public function getClassFieldAces($field)
 {
     /** @var EntryInterface[] $aces */
     $aces = $this->acl->getClassFieldAces($field);
     /** @var EntryInterface[] $rootAces */
     $rootAces = $this->rootAcl->getObjectFieldAces($field);
     foreach ($rootAces as $rootAce) {
         $exists = false;
         $rootSid = $rootAce->getSecurityIdentity();
         foreach ($aces as $ace) {
             if ($rootSid->equals($ace->getSecurityIdentity())) {
                 $exists = true;
                 break;
             }
         }
         if (!$exists) {
             $aces[] = $rootAce;
         }
     }
     return $aces;
 }