实体框架和身份验证(OWIN中间件)如何适用于大型多租户业务应用程序设计

时间:2015-08-27 00:58:07

标签: authentication entity-framework-6 multi-tenant

我们有一个大型多租户业务应用程序,我们想知道实体框架和身份验证如何适合此设计;我的意思是我需要有关如何在此设计中使用实体框架以及如何进行身份验证的示例;我看到Dynamics Crm和sharepoint使用配置(主)数据库和每个租户的不同数据库;如何对用户进行身份验证和保存;当我调查动态crm配置数据库时,我看到它包含用户表;此外,租户数据库包含用户表,我不知道差异

1 个答案:

答案 0 :(得分:0)

您的问题很广泛,可能需要详细介绍。我想简单介绍一下。

实体框架& OWIN Middleware是一种缓解开发工作的方法。如果只有一个与数据库类似的对象模型,则选择EF。

OWIN中间件的出现帮助您轻松集成各种身份验证机制,如Google,Facebook,Azure Active Directory等......

此外,除了使用OWIN之外,您还需要围绕用户和租户管理系统构建逻辑。将有一个租户表,其中包含有关您的租户[客户]的元数据。

将有一个用户表,其中包含您的用户与租户的对比。在这里,可以使用租户标识符对租户标识每一行,或者您可以选择为每个租户使用单独的表。

单个数据库模型是所有租户共享的模型,属于多租户级别4。

您应根据业务特定用例决定是否需要为每个租户支持共享数据库或专用数据库。

使用OWIN,我还编写了可以与任何启用OAuth2的IDP通信的中间件,并将用户带回系统。业务用例可以提高所需的定制水平和集成深度,技术也可以帮助我们实现同样的目标。

请分享一些更具体的问题或您的观点以进一步讨论