将chain_provider与Doctrine和自定义用户提供程序一起使用时,是否也使用提供程序的身份验证提供程序?chain_provider和身份验证提供程序
我有一个问题,用在chain_provider自定义用户提供,如下所述:
providers:
chain_provider:
providers: [doctrine, egzakt_backend_ldap]
doctrine:
entity: { class: Egzakt\Backend\UserBundle\Entity\User }
egzakt_backend_ldap:
id: egzakt_backend_ldap.security.user.provider
firewalls:
secured_area:
pattern: /admin/
form_login:
provider: chain_provider
check_path: /admin/login_check
login_path: /admin/login
的问题是,egzakt_backend_ldap用户提供正确调用,而不是由良好的验证提供程序。而不是被我在工厂中声明为服务的“LdapAuthenticationProvider”所调用,而是由“Symfony \ Component \ Security \ Core \ Authentication \ ProviderDaoAuthenticationProvide r”调用,并始终返回“The present password is invalid”,因为它不使用良好的身份验证提供程序来验证凭据。
但是,如果直接使用入口点,它正在工作。问题是,我希望同时使用原则和LDAP登录,如果主义失败了,它回落到LDAP:
firewalls:
secured_area:
pattern: /admin/
egzakt_backend_ldap:
check_path: /admin/login_check
login_path: /admin/login
用这种方式,它采用了很好的验证提供者和使用者提供。
任何人都有关于我失踪的想法吗?