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

5
我正在使用ASP.NET MVC构建一个多租户应用程序,并且在验证用户时遇到了问题。
情况如下:
我有:
- 一个包含用户(ID、姓名、名字、电子邮件)的表格。这个表格是为了让注册在两个租户中的用户不需要再次登录。 - 一个包含一个租户的登录名和密码的表格,其中包括Tenantuser(ID、TenantID、UserID(对应User表的外键)、UserName、Loginname、Password、Active)。
例如:
- UserX注册了TenantA和TenantB - UserX使用TenantA的登录名和密码登录 - 系统会在TenantUser表格中验证登录名和密码是否正确 - 系统会验证userID与User表中的ID是否相符 - UserX前往TenantB并自动登录
我的问题是:
如何创建一个自定义提供程序,以便我可以在租户中检查登录名和密码?
例如:
public abstract bool ValidateUser(string username,string password);

我应该如何告诉我的提供商用户所在的租户?

我该如何将其更改为类似以下内容:

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

还有其他解决此问题的方法吗?
1个回答

5
应用程序名称参数可以用于标识租户a/b,可以在配置文件中指定。然后,在您的自定义提供程序中,您可以使用此参数为租户获取正确的条目。不要涉及设置自定义方法;这会很麻烦。
希望对你有帮助。

我明白自定义方法不是正确的方式。 租户是即时创建的,我该如何在配置文件中指定? 或者我可以将其存储在其他地方吗? - Masna
如果您正在开发自定义提供程序,您可以轻松地将其存储在其他位置。它可以是应用程序设置、自定义配置部分、静态对象或外部资源(如DB/xml文件)等等,这只是其中的一些例子 :-) 但这取决于您需要多快获取它... 没有更多细节,我无法提供更多帮助。 - Brian Mains

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接