在CakePHP中登录后,每个用户帐户的不同数据库

问题描述:

我想为不同的注册创建单独的数据库。 首先,我是通过多个子域手动完成的,但现在我希望它在注册后自动注册时有人注册。在CakePHP中登录后,每个用户帐户的不同数据库

这就是我想实现: 首先,我将创建一个公共数据库“user_databases”只是存储“用户电子邮件”和“用户数据库名称”。所以,当任何用户用他的电子邮件登录,然后我将获取其数据库名称,然后验证从获取的数据库的用户表登录密码。

但问题是我将如何实现它? 我应该在Config的database.php中包含代码还是在每个模型中使用$ useDbConfig(由于某些原因,我不想使用它)?

有没有更好的方法呢?我是否正确地执行它? 请帮助和指导。

+0

我做了类似的,除了我用子域来更改主题目录。你应该能够以类似的方式设置数据源:http://blog.sixthpoint.com/wildcard-subdomain-prerouting/ – Sixthpoint

+0

我已经在子域中使用它,这是我手动做的,但我想实现单用户可以注册的域名,因此访问该站点的每个用户的URL都是相同的,但是账号不同。这将用于知道该用户的数据库以获取。 – Anupal

由于cake的事件系统,cakephp中的数据库分区现在是一项微不足道的任务。 cakephp允许您在应用程序启动过程的早期通过表单调度过滤器与其请求和响应对象进行交谈。 markstory已经写了很好关于这http://mark-story.com/posts/view/using-cakephp-and-a-horizontally-sharded-database

+0

我得到了答案http://*.com/a/13224580/1668476 – Anupal