ASP.NET MVC中的备用用户管理

Ant*_*tts 9 asp.net-mvc

我正处于新的ASP.NET MVC应用程序的规划阶段,其中一个要求是存储一些用户信息,这些信息不属于ASP.NET MVC附带的User类中的标准集.我想它归结为两个问题.

1)我可以编辑已经使用的类来存储我需要的信息吗?

2)如果我使用User.IsAuthenticated方法尝试锁定某些视图时,我如何保留自己的身份验证部分以使事情变得如此美好?

我考虑的另一个选择是使用按原样提供的User类,而是将其他信息放入一个单独的表中,并使用guid userid作为外键.

建议?

nki*_*kes 11

正如@Burt所说,配置文件是一种选择,并提供了很大的灵活性.

我有类似的需求来跟踪员工信息,但我选择推出自己的Employee类并创建与标准用户的关系.我真的很喜欢这样做,因为我可以将任何Employee特定的业务逻辑与User class Membership系统分开.

由于不是每个用户都会与员工绑定,这对我的案例更有意义.它可能不适合你,但它是另一种选择.

所以,我有类似的东西:

public class Employee
{
    public Employee(string name) : this()
    {
        Name = name;
    }

    public virtual string Name { get; set; }
    public virtual string Title { get; set; }
    public virtual decimal Salary { get; set; }
    public virtual decimal Hourly { get; set; }
    public virtual decimal PerDiem { get; set; }
    public virtual string StreetAddress { get; set; }
    public virtual Guid UserId { get; set; }
    public virtual MembershipUser User {
        get
        {
            // note that I don't have a test for null in here, 
            // but should in a real case.
            return Membership.GetUser(UserId);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


ecl*_*eel 6

请参阅ASP.Net MVC Membership Starter Kit.它提供管理用户和角色所需的Asp.Net MVC控制器,模型和视图.它会为你减少一半的距离.

开箱即用,入门套件为您提供以下功能:

  • 用户列表
  • 角色列表
  • 用户帐户信息
  • 更改电子邮件地址
  • 更改用户的角色

  • 我很感激您的回答,但我需要的是可以有效查询的其他信息.在入门工具包中实现的用户帐户信息对于存储和查询用户信息效率不高. (2认同)