Exemple #1
0
 /**
  * @param SecurityContextConfiguration $configuration
  * @throws \BadMethodCallException
  */
 private function updateMappings(SecurityContextConfiguration $configuration)
 {
     $mappings = $configuration->getMappings();
     if (!$configuration->isRolesEnabled()) {
         $this->validateAndCall($mappings['user'], 'disableRoles');
     }
     if (!$configuration->isThrottlesEnabled()) {
         $this->validateAndCall($mappings['user'], 'disableThrottles');
     }
     if (!$configuration->isPermissionsEnabled()) {
         $this->validateAndCall($mappings['user'], 'disablePermissions');
         if (isset($mappings['role'])) {
             $this->validateAndCall($mappings['role'], 'disablePermissions');
         }
     }
     if ($table = $configuration->getTable('usersRoles')) {
         $this->validateAndCall($mappings['user'], 'changeRolesJoinTable', $table);
         if (isset($mappings['role'])) {
             $this->validateAndCall($mappings['role'], 'changeRolesJoinTable', $table);
         }
     }
     $mappingObjects = [];
     foreach ($mappings as $entity => $mapping) {
         $entityMapping = $this->makeMapping($mapping);
         if ($entityMapping instanceof CustomTableMapping && ($table = $configuration->getTable($entity))) {
             $entityMapping->setTable($table);
         }
         $mappingObjects[] = $entityMapping;
     }
     $this->addMappings($mappingObjects);
 }