我正在定义一个新的身份验证提供程序,我需要访问密码编码器工厂,因此我将我的提供程序定义为服务并要求注入编码器。这是我的服务定义:
services:
wsse.security.authentication.provider:
class: Fdi\CliperestBundle\Security\Authentication\Provider\WsseProvider
arguments: [@security.encoder_factory,'', %kernel.cache_dir%/security/nonces]
所以我期待我的提供者构造函数会得到一个Symfony\Component\Security\Core\Encoder\EncoderFactory
类型的对象。但我得到Symfony\Component\Security\Core\User\ChainUserProvider
而不是!!
有谁知道为什么我得到这个对象,我该怎么做才能获得EncoderFactory?顺便说一下,我正在使用FOSUserBundle,不知道它是否与此相关
答案 0 :(得分:1)
services:
wsse.security.authentication.provider:
class: Fdi\CliperestBundle\Security\Authentication\Provider\WsseProvider
arguments: ['', %kernel.cache_dir%/security/nonces, @security.encoder_factory]