共享数据的多租户应用程序(Asp net mvc + Entity Framework + Sql Server)

Mar*_*oli 6 asp.net-mvc entity-framework multi-tenant

我正在开发一个非常复杂的多租户应用程序架构.

.

3完全不同的应用程序

Ther不仅是许多客户使用的一种应用; 是3种不同的应用.

APP A,APP B,APP C.

.

每个APP都是多租户

每个应用程序都有其客户.

APP A - 客户A1 - 客户A2

APP B - 客户B1 - 客户B2

APP C - 客户C1 - 客户C2

.

共享信息

许多信息在不同的应用程序之间共享

"客户A1"需要操纵或仅查看"客户C1"拥有的数据

.

考虑一下我使用的是Asp net mvc,EF,Sql Server.这是正确的实施吗?

一个站点和许多区域?创建多个站点?多个db?只有一个db?过滤?sql过滤视图?...

一些应用实例?

编辑

和...在哪里放置业务逻辑?

小智 2

我建议您首先在 .Net 之上构建自己的多租户工程堆栈(框架),它将处理多租户的所有要求,包括租户明智的数据隔离、水平缩放支持、基于用户的租户上下文和角色、租户明智的数据模型扩展、租户明智的 UI 自定义、基于角色、权限和数据范围强制执行访问限制 - 对于不同的租户等可能会有所不同。

业务逻辑可以构建在该框架之上。这种方法将为您的产品提供强大的工程基础。

另一种选择是购买现成的现成的多租户工程堆栈,将其安装在 Visual Studio 上并将其用作开发模板。