【问题标题】:Extending ASP.NET Membership扩展 ASP.NET 成员资格
【发布时间】:2012-05-25 01:25:55
【问题描述】:

扩展 ASP.NET 中提供的 ASP.NET 成员资格(添加/删除/编辑用户功能)的最佳和最简单的方法是什么。我希望在 aspnet_users 表中添加 1-2 列。我必须做些什么才能做到这一点。编辑和添加应该编辑这 2 个额外的用户列。显示用户应该显示这 2 个额外的列。我是 ASP.NET Membership 的新手,不想编写大量代码?

【问题讨论】:

    标签: asp.net asp.net-membership


    【解决方案1】:

    您不会扩展成员资格提供程序本身:至少,不会以这种方式。您可以并且应该做的只是依靠 Membership 来进行身份验证,并使用来自您的提供者的相同用户 ID 作为单独的表/位置中的主键来存储有关每个用户的任何其他信息。

    在任何情况下都不应使用自己的身份验证系统。

    【讨论】:

    • 这是我使用的方法,效果很好。我还使用视图将成员资格用户表与我创建的表链接起来,以便于访问信息
    • "在任何情况下,您都不应使用自己的身份验证系统。"您是说应该始终使用 ASP.NET 成员身份,并且永远不要编写自己的用户名/密码身份验证吗?
    • @ChrisCannon 如果由于某种原因会员资格不符合您的需要,您可以使用其他预先编写的身份验证系统来代替 asp.net 会员资格。但是,是的,永远不要编写自己的用户名/密码身份验证。只是不要这样做。
    【解决方案2】:

    ASP.NET 成员资格不容易按照您描述的方式扩展 - 系统对模式非常规范。

    但是,Microsoft 确实添加了一个可能的解决方案:ASP.NET Profiles,它具有可用于存储配置文件数据的可扩展字段。这很有用,但是您不能对这些字段运行关系查询(因为它们存储在实际数据库的 blob 字段中)。

    如果您真的想真正改变应用程序中的成员资格和身份验证(以及配置文件状态)的性质,那么我会放弃 ASP.NET 成员资格并自己滚动所有内容。

    【讨论】: