身份无效,无法访问身份数据

时间:2019-12-05 05:22:55

标签: c# asp.net-core razor-pages asp.net-core-identity

我不确定我做了什么,但是我似乎搞砸了我的ASP.NET Core身份。它正在工作。我能够创建一个帐户并登录。但是现在我无法登录,并且“忘记密码”功能也不会给我发送电子邮件。一些测试表明,当有数据与请求匹配时,UserManager.FindByNameAsync()返回null

在尝试调试时,我得到一些奇怪的结果。以下行返回数据库中的所有Goal

var goals = DbContext.Goals.AsEnumerable();

但是,以下行返回空结果集。 (我在 AspNetUsers 表中有一行。)

var users = DbContext.Users.AsEnumerable();

我没有在这个项目中使用Identity。这是几个相关的类。

ApplicationUser.cs

public class ApplicationUser : IdentityUser
{
    // Space to add custom fields
}

ApplicationDbContext.cs

public class ApplicationDbContext : IdentityDbContext
{
    public DbSet<Area> Areas { get; set; }
    public DbSet<Goal> Goals { get; set; }
    public DbSet<Task> Tasks { get; set; }

    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }
}

因此,基本上所有尝试访问Identity类的操作都将失败。是什么可能导致我无法读取“用户”表?我唯一能想到的就是我弄乱了我的ApplicationUser类。谁能推荐我可以尝试隔离的其他方式?我被封锁了。

1 个答案:

答案 0 :(得分:2)

此外,如果您想使用自定义用户数据,还需要使用ApplicationUser类型作为上下文的通用参数:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/customize-identity-model?view=aspnetcore-3.1#custom-user-data