我们的要求是这样的。
我们正在ASP.NET MVC中构建一个多租户网站,每个客户都应该能够按照预定义的用户角色创建自己的用户。
我们正在考虑为几个表创建一个对客户来说很常见的模式。因此,客户可以根据他们的架构登录登录系统,我们不需要改变任何查询来为所有这些服务提供服务。
我们指的是http://msdn.microsoft.com/en-us/library/aa479086.aspx共享数据库,单独的架构。
有人可以建议关注 1.创建架构后如何针对特定架构授权用户 2.这可能是在没有任何更改的情况下,db可以为多租户提供服务
提前致谢 阿尼尔
答案 0 :(得分:3)
经过大量研究后,我可以说,虽然它需要更多的开发和更多的检查,但共享数据库和共享模式是可行的方法。它对您如何轻松满足客户的特定需求提出了一些限制,但从我的观点来看,SAAS并不是为了满足单个客户的奇怪需求。这是为了迎合大多数客户。不是说它是SAAS,而是以iPhone为例。它的建立是为了迎合群众。而不是专注于做所有事情,而不仅仅是简单的一体化。在授权方面,这对你的情况没有帮助,但从长远来看,它可以节省你的工作时间。
答案 1 :(得分:0)
如果您在SQL Server身份验证/授权机制的上下文中询问此问题,我可以回答这个问题,即每个用户都有一个默认架构,可以帮助查询引擎找出数据库中所需的对象。
SQL查询引擎将首先查看用户的默认架构以查找所需的对象(表)。如果它在用户的架构中找到了该对象,则使用它,否则转到系统默认架构(dbo)以找到它。
检查this文章的如何引用对象部分,了解其工作原理。本文还提供了一些与模式相关的安全概念的信息。