多租户成员资格提供程序ASP.NET MVC

Mas*_*sna 5 asp.net asp.net-membership membership-provider multi-tenant

我正在使用ASP.NET MVC构建一个多租户应用程序,并且在验证用户方面存在问题.

情况

我有:

- 具有用户的表(ID,名称,名字,电子邮件)此表已生成,因此在两个租户中注册的用户无需再次登录.

-a具有Tentantuser的表(ID,TenantID,UserID(FK到表用户),UserName,Loginname,Password,Active)此表包含一个租户的de login en密码.

例:

  • UserX在TenantA和TenantB中注册
  • UserX使用TenantA的登录名和密码登录TenantA
  • 系统验证或登录和密码在表TenantUser中是正确的
  • 系统验证UserX哪个userID对应于表User中的Id
  • UserX转到TenantB并自动登录

我的问题:

如何创建自定义提供程序,以便检查租户中的登录名和密码?例如:

public abstract bool ValidateUser(string username,string password);
Run Code Online (Sandbox Code Playgroud)

如何向我的提供商说明用户是哪个租户?

我怎样才能改变这种情况:

 public overrides bool ValidateUser(string username,string password, string tenant); ?
Run Code Online (Sandbox Code Playgroud)

或者解决这个问题的另一种方法是什么?

Bri*_*ins 5

应用程序名称参数可用于标识租户a/b,可在配置文件中指定.然后,在您的自定义提供程序中,您可以使用此选项为租户提取正确的条目.不要设置自定义方法; 那将是一种痛苦.

HTH.