Asp .Net多租户应用程序中的成员资格

时间:2013-01-21 13:23:38

标签: asp.net-mvc-4 asp.net-membership membership-provider multi-tenant

如何在多租户应用程序中使用asp .Net Membership。

让我们举个例子。我有一个拥有许多用户的CRM应用程序,这些用户将拥有多个客户。

现在,在这种情况下,我的单个.Net成员资格数据库如何帮助验证/授权许多其他应用程序。

请注意:我计划为每个租户保留几份应用程序二进制文件。并且所有这些将连接到具有来自aspnet_applications的唯一ApplicationId的单个CRM DB

1 个答案:

答案 0 :(得分:0)

SimpleMembership 使用Entity Framework代码优先模型。您可以转到 Models \ AccountModels.cs 并将 UserProfile 修改为以下内容来扩展用户个人资料:

[Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public int ApplicationId { get; set; }
}

在此示例中,我添加了属性 ApplicationId ,以便您可以将用户链接到其他表或数据库中的特定应用程序。如果您想设置一对多关系,可以将 UserId 添加到其他表格,以将其链接回特定用户。

如果对UserProfile类进行任何更改,则需要删除SimpleMembership创建的任何现有数据库,以使任何更改生效。