gpt4 book ai didi

asp.net - 将额外信息与 ASP.NET MVC 成员资格相关联

转载 作者:行者123 更新时间:2023-12-03 22:33:23 24 4
gpt4 key购买 nike

我不确定我是否应该对 MVC 执行此操作,但我很好奇在使用成员身份提供程序时向 ASP.NET 用户帐户添加额外信息的推荐方法是什么?还有如何将此用途与其他实体相关联。

通常,我不会理会配置文件,而是更喜欢向仅引用 USERID 的表添加额外信息。这对于 ASP.NET MVC 方法来说是好的/坏的/可以接受的,还是有什么替代方法?

最佳答案

这是一个很好的问题,也是我一直在努力解决的问题。我认为有三种基本方法;

  • 使用配置文件提供程序 - 这使得添加属性变得容易,但执行诸如生成用户表之类的操作很麻烦,尤其是在您需要应用过滤器/搜索时。 API 只是没有削减它。
  • 添加一个新表(或扩展现有表),然后加入它。然后,您需要编写自己的方法来取回自定义数据。
  • 编写您自己的 Membership 提供程序来扩展 MembershipProvider 类。

  • 在我的最后一个项目中,我使用了后一种方法——我编写了一个非常简单的 SQL 提供程序,它只实现了创建用户、身份验证和更改密码所需的基本要素。对于其余的虚拟方法,我只是抛出了 NotImplementedException .

    然后我添加了一个新类,该类添加了我需要的额外属性并使其可以通过传入标准 MembershipUser 来实例化。 .像这样的东西:
    public static CustomMember GetMember(MembershipUser user)
    {
    // Get your custom member
    }

    这样你就可以在大多数事情上使用标准的 MembershipUser 但如果你需要获得有关当前用户的更多详细信息,你可以这样做:
    MembershipUser user = Membership.GetUser();
    CustomMember member = CustomMember.GetMember(user);

    不过,我很想知道其他人的方法是什么。

    关于asp.net - 将额外信息与 ASP.NET MVC 成员资格相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198781/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com