Asp.Net标识禁用某些字段

时间:2014-03-31 18:16:38

标签: asp.net-identity

我最近更新了asp.net身份,现在我无法登录,因为它说它需要新字段,所以我尝试重新创建表,而表用户似乎有一些额外的字段,我基本上不需要。

这些字段是:phonenumber,phonenumberconfirmed,twofactorenabled等等......我怎么能禁用那些恶魔并对asp.net身份说甚至不寻找它们?因为如果我删除它们,那么我会收到错误,说它无法找到这些字段。

2 个答案:

答案 0 :(得分:3)

您可以通过忽略DbContext类中的映射来禁用不需要的字段。例如,如果您不想使用PhoneNumber和PhoneNumberConfirmed,您可以在ApplicationDbContext中忽略它们,如下所示

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<ApplicationUser>().Ignore(x => x.PhoneNumber);
        modelBuilder.Entity<ApplicationUser>().Ignore(x => x.PhoneNumberConfirmed);
    }

请注意,不映射这些字段会导致不使用使用它们的API,从而错过了这些功能。

答案 1 :(得分:0)

实现您想要的一种方法是,您需要实现自己的自定义用户存储类,例如IdentityUserUserStore等...您可以找到更多信息here