4

我正在用ASP.NET MVC构建一个多租户应用,并且在验证用户方面存在问题。多租户成员提供商ASP.NET MVC

形势

我:

-a表用户(ID,名称,名字,电子邮件) 此表由,让谁在两个租户注册的用户没有按”不需要再次登录。

-a带Tentantuser(ID,TenantID,UserID(FK到表用户),用户名,登录名,密码,活动)的表 此表包含一个租户的de登录en密码。

例子:

  • 用户X是注册在TenantA和TenantB
  • 用户X登录上TenantA,与他对TenantA
  • 登录名和密码
  • 系统验证或登录名和密码是正确的表TenantUser
  • 系统验证UserX哪个userID对应表中的Id用户
  • UserX转到TenantB并且我

    如何创建自定义提供商,所以我可以在一个租户检查登录密码&:在

我的问题S也可以自动登录? 例如:

public abstract bool ValidateUser(string username,string password); 

我怎样才能到我的供应商说,在其租户用户?

我怎样才能改变这种在类似:

public overrides bool ValidateUser(string username,string password, string tenant); ? 

或什么是另一种方式来解决这个问题?

回答

4

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

HTH。

+0

Thx。 我知道自定义方法不是正确的方法。 租户是即时创建的,我怎样才能在配置文件中指定这个? 或者我可以将它存储在别的地方吗? – Masna 2010-05-20 15:18:36

+0

如果您正在开发自定义提供程序,则可以轻松地将此存储在其他位置。它可以在应用程序设置,自定义配置部分,静态对象,或像DB/xml文件这样的外部资源中......仅举几例:-)这取决于你在需要的时候如何。 ..没有更多的细节,我不能帮助任何更多的细节。 – 2010-05-21 01:31:36