【问题标题】:ASP.NET Membership on .NET 4.0 Multi-Tenant app. Default or Custom?.NET 4.0 多租户应用程序上的 ASP.NET 成员资格。默认还是自定义?
【发布时间】:2015-05-15 10:23:04
【问题描述】:

这是我的第一次尝试,尝试将 Membership 集成到已经投入生产的现有商店。

根据我的情况,我不太确定是否应该使用内置的 aspnet-providers 或它们的自定义实现来集成成员资格。

这里有一些细节:

  1. 我有一个基于子域的多租户、单数据库、单模式 Web 应用程序。
  2. 该应用程序已经在生产中,稍后我想通过电子邮件将新注册的用户与现有的匿名订单联系起来。

  3. 成员资格整合后将继续开发,将添加新功能,即用户表的新列和链接表。

This answer 让我想到了使用会员默认配置文件来扩展由 aspnet 提供商创建的用户表,因为我还没有用户。虽然我不清楚如何将用户与订单和其他表格/实体联系起来,这些表格/实体稍后可能会在应用程序扩展时添加。

也许我可以将与用户相关的实体定义为用户定义的配置文件属性,但它们在我的数据库中不会有关联。

我正在考虑的另一个开销是如何将用户与应用程序的不同租户相关联。我希望用户能够使用相同的电子邮件在不同的租户/子域中注册。

在这种情况下您将如何实现成员资格?

【问题讨论】:

  • 投反对票的任何理由。请在您投反对票时分享您的观点
  • 不是我反对你的回答

标签: asp.net sql-server entity-framework multi-tenant membership


【解决方案1】:

这个问题是几个问题的集合。我会尽我所能回答他的问题

  • 在管理用户的情况下,我建议您考虑以下方法
  • 预定义应用程序中需要的基本用户配置文件元数据列表
  • 创建一种可扩展的方法,例如为用户配置文件设置自定义字段,以便它可以容纳将来可能需要捕获的任何数据
  • 您还应该在应用程序中规划一个自助注册系统,该系统将允许您的用户像使用电子邮件系统的匿名用户一样注册自己

关于关联业务实体,您需要将实体与租户关联,而不是与用户关联。应用程序的级别将来自租户,然后将向下流向用户。

另外,你不应该有用户可访问的业务实体,当它们以包的形式维护时,将非常易于管理和使用。

分享您对这些方法的看法。 - 为标识用户所属的基本租户的每个配置文件创建租户标识符列 [property] - 创建一个表来管理用户稍后可能会访问的其他租户列表

【讨论】:

  • 投反对票的任何理由。请在您投反对票时分享您的观点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
相关资源
最近更新 更多