1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
<?php
// src/Acme/SecurityBundle/DependencyInjection/Security/Factory/AccessMasterFactory.php
namespace Acme\SecurityBundle\DependencyInjection\Security\Factory;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\DefinitionDecorator;
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\SecurityFactoryInterface;
class AccessMasterFactory implements SecurityFactoryInterface
{
protected $logger;
public function __construct ($logger)
{
$this->logger = $logger;
}
public function create(ContainerBuilder $container, $id, $config, $userProvider, $defaultEntryPoint)
{
$providerId = 'security.authentication.provider.accessmaster.'.$id;
$container->setDefinition($providerId, new DefinitionDecorator('accessmaster.security.authentication.provider'))
->replaceArgument(0, new Reference($userProvider));
$listenerId = 'security.firewall.listener.accessmaster.'.$id;
$listener = $container->setDefinition($listenerId, new
DefinitionDecorator('accessmaster.security.firewall.listener'));
return array($providerId, $listenerId, $defaultEntryPoint);
}
//... |
Partager