UserManager <User>не находит существующего пользователя в базе данных asp.net core Identity - PullRequest
0 голосов
/ 11 октября 2018

У меня есть приложение ASP.NET Core 2.1 MVC.Также в базе данных у меня есть 1 пользователь в роли «Администратор», но когда я пытаюсь получить список пользователей в базе данных, он возвращает пустой список. Он обычно возвращает данные из таблиц «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();
...

1 Ответ

0 голосов
/ 01 февраля 2019

Проблема, с которой я столкнулся, заключалась в следующем:

Я вставлял пользователя напрямую через Entity User, а не с помощью CreateAsync в методе UserManager.

Это было в обход любой подпрограммыкоторый вычисляет PasswordHash, SecurityStamp и другие поля в базе данных, поэтому PasswordSignInAsync не работал из-за этого.

...