【问题标题】:Why does asp.net membership have a users table and a membership table?为什么asp.net 会员有一个users 表和一个membership 表?
【发布时间】:2009-09-28 23:09:58
【问题描述】:

他们为什么将用户资料分成两张表?就像他们获得了 aspnet_ 会员资格和 aspnet_users。

仅仅是因为他们的会员资料太长了吗?

【问题讨论】:

    标签: .net asp.net asp.net-membership


    【解决方案1】:

    将身份/认证管理与会员管理分开。 “大”用户表是实际的身份存储库——例如,如果你想使用 SQL 来存储你的身份数据,它都在这里。但是您可能希望使用其他一些来源(例如 Active Directory)作为您的身份存储库。相反,您验证身份和身份验证,但您仍然需要有某种方法将基于 SQL 的角色/成员身份数据连接到基于 AD 的身份数据。这就是小表的用武之地 - 只需足够的信息来维持这些关系。

    【讨论】:

    • 我正在放弃 asp.net 成员资格,因为我不需要很多表,而且因为我做了一些东西,所以我已经使所有内置方法变得无用。所以我想弄清楚我是否应该像这样拆分数据或将其粘贴到一张表中。推荐的方法是什么?
    • @Chobo2 在不知道您的需求的情况下很难说。不过我想说的是,如果 ASP.NET 提供程序可以满足您的所有需求,而您不需要的很多功能 - 您可能希望继续使用它。建立自己的成本是您可以花在更好的东西上的成本。但是,如果您需要某些特定功能,请先根据您的需要设计您的提供程序。
    【解决方案2】:

    用于保护来自单个用户数据库的多个应用程序; aspnet_membership 具有 UserId 和 ApplicationId,因此每个用户可以为多个应用程序使用不同的密码(也可以被锁定在一个应用程序之外,而不是另一个应用程序)。

    【讨论】:

    • 没错,但另一个表也有这些信息,所以你还没有回答为什么存在两个不同的表。
    猜你喜欢
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    相关资源
    最近更新 更多