5

我正在探索新的 asp.net 身份。使用代码优先和迁移功能向用户表“AspNetUsers”添加字段似乎很棒。

我想添加“Name”、“CreatedOn”和“CreatedFromIP”等列,并能够从 .NET 中读取它

有简单的解决方案吗?

4

3 回答 3

3

您可以简单地从 App_Start 文件夹中打开数据库并修改字段。(如果您使用模板)

于 2014-05-12T07:55:09.473 回答
1
public class ApplicationUser : IdentityUser
{
    public string YourProperyHere { get; set; }

    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;
    }
}

在这里阅读更多

于 2016-06-04T13:50:12.863 回答
0

Visitor您设置新的身份框架项目时,该类作为模板提供给您,并且该类与AspNetUsers表相关联。它继承了一堆您无法控制/无法控制的属性,然后您可以添加任何您想要的东西。

public class Visitor : IdentityUser
{
    [MaxLength(300)]
    public string FirstName { get; set; }

    [MaxLength(300)]
    public string LastName { get; set; }

    public DateTime CreatedOn { get; set; }


    public Visitor()
    {
        CreatedOn = DateTime.UtcNow;
    }
}

我还没有找到修改甚至直接查询 AspNetUserLogins 表的方法,因为默认的身份框架设置为您提供了一个可以访问用户和角色的数据库,但不能访问登录。此外,该表是从用户那里降级的,但是,这不会让您查询它。而且,至少默认情况下,您会使用 Identity Framework 附带的 stock 类;对其进行子类化并让框架使用该子类可能会被排除在外。不知道,值得自己提问:

将列/属性添加到 IdentityDbContext 中的 AspNetUserLogins/Logins

于 2017-08-08T01:53:37.783 回答