|
@@ -11,7 +11,6 @@
|
|
|
|
|
|
namespace Symfony\Bundle\SecurityBundle\DependencyInjection;
|
|
|
|
|
|
-use Symfony\Component\Config\Definition\Processor;
|
|
|
use Symfony\Component\DependencyInjection\DefinitionDecorator;
|
|
|
use Symfony\Component\DependencyInjection\Alias;
|
|
|
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
|
@@ -20,6 +19,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
|
use Symfony\Component\DependencyInjection\Reference;
|
|
|
use Symfony\Component\DependencyInjection\Parameter;
|
|
|
use Symfony\Component\Config\FileLocator;
|
|
|
+use Symfony\Component\Config\Definition\Processor;
|
|
|
|
|
|
/**
|
|
|
* SecurityExtension.
|
|
@@ -32,14 +32,8 @@ class SecurityExtension extends Extension
|
|
|
private $requestMatchers = array();
|
|
|
private $contextListeners = array();
|
|
|
private $listenerPositions = array('pre_auth', 'form', 'http', 'remember_me');
|
|
|
- private $configuration;
|
|
|
private $factories;
|
|
|
|
|
|
- public function __construct()
|
|
|
- {
|
|
|
- $this->configuration = new Configuration();
|
|
|
- }
|
|
|
-
|
|
|
public function load(array $configs, ContainerBuilder $container)
|
|
|
{
|
|
|
if (!array_filter($configs)) {
|
|
@@ -49,11 +43,13 @@ class SecurityExtension extends Extension
|
|
|
$processor = new Processor();
|
|
|
|
|
|
// first assemble the factories
|
|
|
- $factories = $this->createListenerFactories($container, $processor->process($this->configuration->getFactoryConfigTree(), $configs));
|
|
|
+ $factoriesConfig = new FactoryConfiguration();
|
|
|
+ $config = $processor->processConfiguration($factoriesConfig, $configs);
|
|
|
+ $factories = $this->createListenerFactories($container, $config);
|
|
|
|
|
|
// normalize and merge the actual configuration
|
|
|
- $tree = $this->configuration->getMainConfigTree($factories);
|
|
|
- $config = $processor->process($tree, $configs);
|
|
|
+ $mainConfig = new MainConfiguration($factories);
|
|
|
+ $config = $processor->processConfiguration($mainConfig, $configs);
|
|
|
|
|
|
// load services
|
|
|
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
|