当用户登录时使用不同的数据库

问题描述:

在Symfony 2.0中,我需要更改特定用户的数据库直到他注销,但代码相同。当用户登录时使用不同的数据库

这可能吗?

+3

我不认为这是一个伟大的数据库设计,如果你需要更改数据库,如果用户登录.. – 2013-03-01 09:33:29

这是可能的,但不应按照您描述的方式完成。

您将始终需要不会更改的连接:将处理身份验证的数据库。

然后对于每个用户,您可能有一个特定的数据库。登录后,您应该拥有连接到用户数据库所需的帐户详细信息(数据库详细信息)。

一旦你拥有了它,使用的

描述的一种方法请看:Symfony 2 : multiple and dynamic database connection

它应该是相当简单的。

PS:除了永久连接,您还可以让用户通过SSO(单点登录)环境中的其他服务器进行身份验证 - 这是高级主题。用户数据库的连接细节应该来自该服务器。

退房Symfony2, Dynamic DB Connection/Early override of Doctrine Service

这是另一种略有重复,但具体到使用请求参数,得到的答复提供了更多的细节,这是服务的线路。不知道它是否对其他答案有帮助,但无论如何请检查一下。