ASP.NET身份与自定义"用户"表

时间:2017-03-06 09:05:00

标签: c# asp.net nhibernate asp.net-mvc-5 owin

我想使用OWIN。但是我需要在用户表中添加更多列。我还想使用NHibernate

这样做的方法是什么? 从OWIN扩展用户表。我不知道这是否可能。其次,我不知道是否可以解决缓存问题。

或者,我使用" UserID"为我自己的用户数据制作第二个用户表。作为外键的属性引用OWIN的用户表?

1 个答案:

答案 0 :(得分:0)

我说无论如何都要使用Asp.NET Identity。如果您想为ApplicationUser添加更多属性,可以按以下方式添加:

public class ApplicationUser : IdentityUser
{
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }

    // Your Extended Properties
    public string FirstName{ get; set; }
    public string LastName{ get; set; }
    //...
}

您甚至可以为User.Identity创建方法,以便像GetUserId()方法一样轻松获取属性的值。看看this