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

时间:2018-10-11 14:07:55

标签: c# asp.net asp.net-core-2.1 asp.net-core-identity

我有ASP.NET Core 2.1 MVC应用程序。同样在数据库中,我有1个角色为“ Admin”的用户,但是当我尝试获取数据库中的用户列表时,它返回一个空列表。它通常从“ Roles”和“ UserRoles”表中返回数据,但是看不到任何“用户”表中的数据,因此,我不能使用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();
...

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

确保电子邮件和用户名中的大写字母具有NORMALIZEDUSERNAME和NORMALIZEDEMAIL值。