【发布时间】:2013-06-13 16:24:56
【问题描述】:
我需要当用户登录时,他们使用第二个数据库进行身份验证,该数据库的连接不是默认数据库。我已经阅读了许多关于创建扩展 UserProviderInterface 的用户提供程序的帖子,但没有一个有效。
到目前为止我做了什么:
- 我有一个自定义用户类 (MyCustomUser),它扩展了 FOSUser 类。
- 我在 config.yml 文件中定义了两个连接和两个实体管理器。
-
我在 security.yml 中定义了我的自定义用户类的提供者:
供应商:
chain_provider: chain: providers: [in_memory, fos_userbundle, myusers] ... myusers: entity: { class: myproject\myBundle\Entity\MyCustomUser}
问题是,当我尝试使用 MyCustomUser 实例的凭据(用户名/密码)登录时,Symfony 尝试根据默认连接验证此数据,其中 MyCustomUser 表不存在。换句话说,它正在尝试从默认连接加载数据,并出现“表 default_connection.MyCustomUser 不存在”之类的错误。
我应该按照哪些步骤来加载我想要的实体管理器?
提前致谢!
【问题讨论】:
-
我的回答是否已经足够了,还是您需要更多关于如何将非默认连接注入您的提供者的信息?
标签: symfony entitymanager