2
나는 http://symfony.com/doc/2.0/cookbook/security/custom_authentication_provider.html을 기반으로 내 자신의 인증을 만들었으며 제대로 작동합니다.Symfony2에서 여러 인증 공급자를 등록하는 방법은 무엇입니까?
하지만 지금은 두 개의 인증 공급자가 필요합니다. AuthenticationProviderManager는 이것을 지원하지만 보안 공장에 두 번째 인증 공급자를 추가하는 방법을 찾을 수 없습니다.
내 코드 :
security.yml
firewalls:
wsse_secured:
pattern: /api/.*
wsse: true
WsseFactory.php
class WsseFactory implements SecurityFactoryInterface
{
public function create(ContainerBuilder $container, $id, $config, $userProvider, $defaultEntryPoint)
{
$providerId = 'security.authentication.provider.wsse.'.$id;
$container
->setDefinition($providerId, new DefinitionDecorator('wsse.security.authentication.provider'))
->replaceArgument(0, new Reference($userProvider))
;
$listenerId = 'security.authentication.listener.wsse.'.$id;
$container->setDefinition($listenerId, new DefinitionDecorator('wsse.security.authentication.listener'));
return array($providerId, $listenerId, $defaultEntryPoint);
}
public function getPosition()
{
return 'pre_auth';
}
public function getKey()
{
return 'wsse';
}
public function addConfiguration(NodeDefinition $node)
{
}
}
services.yml : 당신은 내가 일을 볼 수 있습니다 그래서
wsse.security.authentication.provider:
class: LD\BinaryBackendBundle\Security\Authentication\Provider\WsseProvider
arguments: ['', %kernel.cache_dir%/security/nonces]
wsse.security.authentication.listener:
class: LD\BinaryBackendBundle\Security\Firewall\WsseListener
arguments: [@security.context, @security.authentication.manager, @logger]
auth 프로 바이더의 레지스터 두 번째를 어떻게 추가 할 수 있습니까?
하나가 다른 하나에 전달 실패하면 당신은 인증 공급자가 바로 방화벽 구성에 추가 추가 할 수 있습니다
나는 simple_form 및 simple_preauth로 시도하고 있지만 항상 simple_preauth로 먼저 시도합니다. – rkmax