繁体   English   中英

多租户环境 - 多个成员资格提供者,每个租户1个DB,一个单一应用程序

[英]Multi Tenant Environment - Multiple Membership providers, 1 DB per Tenant, One Single Application

我搜索了SO,找不到符合我情景的任何东西......

多租户环境 - 多个成员资格提供者,每个租户1个数据库,Azure上的一个单一应用程序...

问题很简单:

可以像这样配置Asp.net会员提供商吗? 有关如何的线索?

现在你们都知道了这个问题,让我们了解细节......

这个堆栈应该在Azure上运行,SQL Azure用于持久数据,ASP.net成员资格,MVC4,EF5和一些眼睛糖果......

挑战在于:

  1. 创建在Azure中运行单个应用程序的多租户环境(工作者角色和Web角色,但不是特定于租户或面向的);

  2. 数据库一对一隔离(每个租户一个数据库);

  3. 在每个数据库中运行一个Asp.net成员,以便对每个租户创建的用户进行身份验证和授权;

  4. 一个主数据库,包含共享数据和主要的Asp.net成员资格,只有管理员用户(主站点管理员和租户管理员)登录...

重要的是说所有数据库都具有完全相同的结构,除了主要数据库...

不知道是否有帮助,但堆栈还包括MVC4,EF5(DB First方法);

实际上,我正在考虑使用MVC路由机制来收集租户标识,然后设置一个特定的Db Context,其中所有操作都应该适用;

有任何想法吗?

默认情况下,asp.net成员资格不适用于多租户环境,因为它不支持租户标识符的概念,用于标识给定用户的成员资格和角色详细信息。 您可以选择使用自定义成员资格提供程序,也可以使用联盟或SSO,并将应用程序角色映射到用户在使用应用程序时引入的SSO角色的映射。

您应该能够在运行时配置ASP.NET成员资格数据库连接字符串。 此线程有一些选项,包括自定义成员资格提供程序或通过Global.asax.cs在请求生命周期的早期更改值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM