我有一个完整的应用程序编码。现在,唯一缺少的部分就是让它成为多租户。
我想允许客户注册到我的应用程序网站,并为该帐户获取一个完全空数据库的应用程序实例。
我曾想过要玩环境,但我不确定这是不是一个好方法:
config
- user1
- database.php
- user2
- database.php
- ...
我还考虑过一个唯一的配置文件,其中包含有关每个帐户的数据库信息,并根据子域名设置数据库连接。像我在这篇文章中看到的那样:
做这部分的任何其他想法或更好的方法?
答案 0 :(得分:4)
您的解决方案需要1000个用户的1000个文件夹。 1000个数据库,如果在应用程序实时循环期间发生任 你不要这样,相信我。
相反,创建一个数据库并使用flags / foreign键将数据分配给用户,简单地说。
答案 1 :(得分:3)
正如Andreyco所指出的,拥有1000个数据库的1000个用户很快会成为一个笑话,但如果你的用户帐户(客户端)数量要小得多,那么这不是一个问题。
最好的方法是拥有一个包含所有通用客户信息的“主数据库”,这可以通过您也可以访问的“超级管理员”面板进行控制。然后,它列出了其他帐户的数据库配置详细信息,因此将其他数据库的数据库信息存储在该表中的表中。
它的安全性稍差,但实质上意味着有人必须破解主数据库以进入其他数据库,这是不太可能的。您还应该限制这些数据库的防火墙,以便即使攻击者位于该主数据库中,也不会在不侵入您的某个Web服务器并从那里通过SSH连接到辅助数据库的情况下执行该操作。