[英]Separate database for users with Symfony2 and Doctrine
这样做的背景是我们有一个现有站点,该站点将在某种程度上与新站点链接,因此使用相同的用户群非常有意义。
因此,我们要使用相同的用户数据库。 我尝试的方法不起作用,添加了两个数据库并提供了相同的实体。 这也是一个不同的Symfony项目,我可以在同一项目上完成它,但是将其分离起来更为方便,因为它稍后可能会在不同的服务器上运行。
如何使我的用户提供程序以最简单或最佳可靠的方式从另一个MySQL数据库获取用户?
您是否查看过使用多个实体管理器的文档?
http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html
您可以为多个数据库连接设置配置,并根据捆绑包定义默认使用哪个连接。
或者,您可以明确选择要使用的连接
$this->get('doctrine')->getManager('<your custom manager name>');
如果您使用的是security.yml
指定的用户提供程序( 此处使用的方法),则可以在服务定义中为替代连接注入userRepository。
your.definition.of.user.provider:
class: YourBundle\Entity\UserProvider
arguments:
- @=service('doctrine').getRepository('YourBundle:User', '<alternate manager name goes here>')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.