【问题标题】:Multi tenant membership provider ASP.NET MVC多租户成员资格提供程序 ASP.NET MVC
【发布时间】:2010-05-20 14:17:14
【问题描述】:

我正在使用 ASP.NET MVC 构建一个多租户应用程序,但在验证用户时遇到了问题。

情况

我有:

-带有用户(ID、姓名、名字、电子邮件)的表 制作这张表,让一个注册在两个租户中的用户不需要重新登录。

- 一个带有 Tentantuser(ID, TenantID, UserID (FK to table User), UserName, Loginname, Password, Active) 的表 此表包含一个租户的登录和密码。

示例:

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

我的问题:

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

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

我如何告诉我的提供商用户是哪个租户?

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

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

或者还有什么方法可以解决这个问题?

【问题讨论】:

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


    【解决方案1】:

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

    HTH。

    【讨论】:

    • 谢谢。我知道自定义方法不是正确的方法。租户是动态创建的,如何在配置文件中指定?或者我可以将它存放在其他地方吗?
    • 如果您正在开发自定义提供程序,您可以轻松地将其存储在其他地方是的。它可能在应用程序设置中,或者自定义配置部分,或者静态对象,或者像 DB/xml 文件这样的外部资源......仅举几例 :-) 这取决于你如何即时需要它。 ..没有更多细节,我无法提供更多细节。
    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多