这看起来像一系列的问题,但都与我们一直在构建的基于SaaS和PHP的应用程序相关。我们意识到我们的应用架构,并研究它,以便我们确保遇到所有必要的技术之前,我们转向生产和不面临任何失败。
为了支持SaaS,我们决定让我们的数据库多租户,每个客户都有自己的数据库。我脑子里还在不停地想着下面的问题清单。
我已附上我们决定使用的DB的框图。
发布于 2012-05-31 13:58:33
我写了一篇很好的文章,其中包含了在PHP中开发SaaS应用程序时需要考虑的许多内容。检查Zend中使用PHP开发SaaS应用程序
你的一些问题的答案如下:
如何提供自定义SaaS多租户应用程序以满足单个租户需求的能力?
这就像一个正常的网站开发。假设您有资源A到Z,那么需要将reach租户的已分配或可访问的资源保存在数据库中。然后,在访问时,可以简单地检查权限。
如何确保每个租户数据库的安全性,使它们不会意外地访问对方的数据?
在SaaS应用程序上的数据库设计是一个经常讨论的关于堆栈溢出的问题。您可以为每个租户提供一个数据库或唯一的数据库。对于大型项目,第二个项目是合适的。
如果要使用单个数据库,只需将租户ID存储在所有表中即可。然后,在对租户进行身份验证时,根据请求来自的子域将租户ID保持在会话中。然后在所有数据库操作中传递此ID,因此不会意外地影响任何其他租户的数据。
https://stackoverflow.com/questions/10702316
复制相似问题