6

我已经搜索过,找不到任何符合我的场景的东西......

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

问题很简单:

可以像这样配置 Asp.net 会员提供程序吗?关于如何做的任何线索?

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

这个堆栈应该在 Azure 上运行,带有用于持久数据的 SQL Azure,以及 ASP.net 成员资格、MVC4、EF5 和一些令人眼花缭乱的东西......

挑战在于:

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

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

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

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

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

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

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

有任何想法吗?

4

2 回答 2

0

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

于 2013-04-28T17:23:14.583 回答
0

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

于 2013-08-09T00:44:31.147 回答