/** * @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); }