我需要在用户登录时使用第二个数据库进行身份验证,该数据库的连接不是默认连接。我已阅读很多关于创建用户提供程序的帖子,这些用户提供程序扩展了UserProviderInterface但没有一个工作。
我现在做了什么:
我在security.yml中定义了自定义用户类的提供程序:
提供商:
chain_provider:
chain:
providers: [in_memory, fos_userbundle, myusers]
...
myusers:
entity: { class: myproject\myBundle\Entity\MyCustomUser}
问题在于,当我尝试使用MyCustomUser实例的凭据(用户名/密码)登录时,Symfony会尝试针对默认连接验证此数据,其中MyCustomUser表不存在。换句话说,它正在尝试从默认连接加载数据,并且出现“table default_connection.MyCustomUser不存在”之类的错误。
我应该遵循哪些步骤来加载我想要的实体管理器?
提前致谢!
答案 0 :(得分:0)
您需要将非默认实体管理器注入实现UserProviderInterface的自定义用户提供程序。
然后在loadUserByUsername($username)
方法中使用它。