繁体   English   中英

用户经理<User>在数据库 asp.net core Identity 中找不到现有用户

[英]UserManager<User> does not find a existing user in database asp.net core Identity

我有 ASP.NET Core 2.1 MVC 应用程序。 同样在数据库中,我有 1 个用户担任“管理员”角色,但是当我尝试获取数据库中的用户列表时,它返回一个空列表。它通常从“角色”和“用户角色”表中返回数据,但无法看到任何“用户”表中的数据,因此我不能使用 SignInAsync 或 PasswordSignInAsync 方法。 这是我的 dbContext:

public class AppDbContext : IdentityDbContext<User, Role, string>
{
    public AppDbContext(DbContextOptions<AppDbContext> options):base(options)
    { }

    // ...
}

这是我的启动:

services.AddDbContext<AppDbContext>(options =>
{
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});

services.AddIdentity<User, Role>()
    .AddEntityFrameworkStores<AppDbContext>()
    .AddDefaultTokenProviders();

// ...

确保 NORMALIZEDUSERNAME 和 NORMALIZEDEMAIL 的电子邮件和用户名大写具有相同的值。

发生在我身上的问题如下:

我直接通过实体用户插入用户,而不是通过 UserManager 方法中的 CreateAsync。

这绕过了计算数据库中 PasswordHash、SecurityStamp 和其他字段的任何例程,因此 PasswordSignInAsync 无法正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM