用户管理器<User>在数据库 asp.net 核心标识中找不到现有用户



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

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 在电子邮件和用户名上具有相同的值。

发生在我身上的问题是:

我直接通过实体用户插入用户,而不是通过用户管理器方法中的创建异步插入用户。

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

最新更新