コード例 #1
0
 public function testGet()
 {
     $andCriteriaStrategy = CriteriaFactory::get('AND');
     $orCriteriaStrategy = CriteriaFactory::get('OR');
     $otherCriteriaStrategy = CriteriaFactory::get('OTHER');
     $this->assertInstanceOf('Rheck\\AccessControlBundle\\Strategy\\Criteria\\CriteriaStrategyInterface', $andCriteriaStrategy);
     $this->assertInstanceOf('Rheck\\AccessControlBundle\\Strategy\\Criteria\\CriteriaStrategyInterface', $orCriteriaStrategy);
     $this->assertFalse($otherCriteriaStrategy);
 }
コード例 #2
0
 public function run($permissions, $context, $criteria)
 {
     if (false === ($loggedUser = $this->securityContextAdapter->getLogged())) {
         return false;
     }
     $context = mb_strtoupper($context);
     $criteria = mb_strtoupper($criteria);
     $permissions = is_array($permissions) ? $permissions : array($permissions);
     $countPermissions = count($permissions);
     $allowedPermissions = $this->getAllowedPermissions($loggedUser);
     $unallowedPermissions = $this->getUnallowedPermissions($permissions, $allowedPermissions, $context);
     $criteriaStrategy = CriteriaFactory::get($criteria);
     return $criteriaStrategy->validate($unallowedPermissions, $countPermissions);
 }