public function testSetExtensionConfigShouldOverwriteCurrentConfig() { $originalConfig = ['prop' => 'val']; $overwrittenConfig = [['p' => 'v']]; $this->builder->prependExtensionConfig(static::EXTENSION, $originalConfig); $this->assertEquals([$originalConfig], $this->builder->getExtensionConfig(static::EXTENSION)); $this->builder->setExtensionConfig(static::EXTENSION, $overwrittenConfig); $this->assertEquals($overwrittenConfig, $this->builder->getExtensionConfig(static::EXTENSION)); }
/** * Move specified firewall to the latest position, it should be done for the most general firewalls * * @param ExtendedContainerBuilder $container * @param string $firewallName */ public static function makeFirewallLatest(ExtendedContainerBuilder $container, $firewallName) { $securityConfig = $container->getExtensionConfig('security'); if (!isset($securityConfig[0]['firewalls'][$firewallName])) { return; } $mainFirewall = $securityConfig[0]['firewalls'][$firewallName]; unset($securityConfig[0]['firewalls'][$firewallName]); $securityConfig[0]['firewalls'][$firewallName] = $mainFirewall; /** @var ExtendedContainerBuilder $container */ $container->setExtensionConfig('security', $securityConfig); }
/** * Sets default implementation of the cache for WSSE nonces if a custom implementation is not specified * * @param ExtendedContainerBuilder $container */ protected function setupWsseNonceCache(ExtendedContainerBuilder $container) { $securityConfig = $container->getExtensionConfig('security'); if (isset($securityConfig[0]['firewalls']['wsse_secured']) && !isset($securityConfig[0]['firewalls']['wsse_secured']['wsse']['nonce_cache_service_id'])) { $securityConfig[0]['firewalls']['wsse_secured']['wsse']['nonce_cache_service_id'] = self::DEFAULT_WSSE_NONCE_CACHE_SERVICE_ID; $container->setExtensionConfig('security', $securityConfig); if (!$container->hasDefinition(self::DEFAULT_WSSE_NONCE_CACHE_SERVICE_ID)) { $wsseLifetime = 0; if (isset($securityConfig[0]['firewalls']['wsse_secured']['wsse']['lifetime'])) { $wsseLifetime = $securityConfig[0]['firewalls']['wsse_secured']['wsse']['lifetime']; } $cacheServiceDef = new Definition(self::DEFAULT_WSSE_NONCE_CACHE_CLASS, [self::DEFAULT_WSSE_NONCE_CACHE_PATH]); if ($wsseLifetime) { $cacheServiceDef->addMethodCall('setNonceLifeTime', [$wsseLifetime]); } $container->setDefinition(self::DEFAULT_WSSE_NONCE_CACHE_SERVICE_ID, $cacheServiceDef); } } }