6

我们的要求是这样的。

我们正在用 ASP.NET MVC 构建一个多租户网站,每个客户都应该能够根据预定义的用户角色创建自己的用户。

我们正在考虑为客户常见的少数表创建一个模式。因此客户可以根据他们的模式登录登录到系统,我们不需要更改任何查询来为所有查询提供服务。

我们指的是 http://msdn.microsoft.com/en-us/library/aa479086.aspx共享数据库,独立架构。

有人可以建议以下内容 1. 在创建模式后如何授权用户针对特定模式 2. 这是否有可能在查询中没有任何更改 db 可以为多租户提供服务

提前感谢阿尼尔

4

2 回答 2

3

经过大量研究,我可以说,尽管需要更多的前期开发和更多的检查,但共享数据库和共享模式是要走的路。它对您满足客户特定需求的容易程度设置了一些限制,但在我看来,SAAS 并不是要满足单个客户的奇怪需求。这是为了迎合大多数客户。不是说它是 SAAS,而是以 iPhone 为例。它是为迎合大众而建造的。它不是专注于做所有事情,而是因为它的简单性而一刀切。在授权方面,这对您的情况没有帮助,但从长远来看,它将为您节省开发时间。

于 2010-01-26T00:04:20.447 回答
0

如果您在 SQL Server 身份验证/授权机制的上下文中问这个问题,我可以回答这个问题,说每个用户都有一个默认模式,这有助于查询引擎在数据库中找到所需的对象。

SQL 查询引擎将首先查看用户的默认架构以找到所需的对象(表)。如果它在用户的模式中找到该对象,则使用它,否则转到系统默认模式 (dbo) 来查找它。

查看本文如何参考对象部分以了解它是如何工作的。这篇文章还包含一些关于与架构相关的安全概念的信息。

于 2010-08-20T20:53:43.477 回答