Не удалось войти в основной идентификатор пользователя HashPassword

У меня есть решение blazor wasm, размещенное на платформе .net5, и ядро ​​идентификации. Я пытаюсь заполнить пользователя-администратора следующим

public class ApplicationUserConfiguration : IEntityTypeConfiguration<ApplicationUser>
    {
        public void Configure(EntityTypeBuilder<ApplicationUser> builder)
        {

            #region Seed

            var admin = new ApplicationUser
            {
                Id = "aacc90e3-c1cf-4f04-8bab-3a3498e84904",
                UserName = "TestUser",
                NormalizedUserName = "TESTUSER",
                Email = "[email protected]",
                NormalizedEmail = "[email protected]",
                EmailConfirmed = true,
                LockoutEnabled = false
            };

            admin.PasswordHash = PassGenerate(admin, "P@ssword1");
            builder.HasData(admin);

            #endregion Seed

        }

        public string PassGenerate(ApplicationUser user, string password)
        {
            var passHash = new Microsoft.AspNetCore.Identity.PasswordHasher<ApplicationUser>();
            return passHash.HashPassword(user, password);
        }
    }

у меня 3 проблемы

1 - При входе в систему с использованием пароля он возвращается с неверным логином.

2 - Штамп безопасности представляет собой пустой направляющий выступ. При регистрации пользователя всегда присутствует строка

3 — LockoutEnabled всегда равен 0. При регистрации нового пользователя всегда равен 1.

Вот мой метод DBContext OnModelCreating

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            #region Identity Seed
            modelBuilder.ApplyConfiguration(new ApplicationUserConfiguration());
            modelBuilder.ApplyConfiguration(new IdentityRoleConfiguration());
            modelBuilder.ApplyConfiguration(new IdentityUserRoleConfiguration());
            #endregion
            
        }

Вот конфигурация удостоверения в моем сервере Startup.cs

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            #region Identity Seed
            modelBuilder.ApplyConfiguration(new ApplicationUserConfiguration());
            modelBuilder.ApplyConfiguration(new IdentityRoleConfiguration());
            modelBuilder.ApplyConfiguration(new IdentityUserRoleConfiguration());
            #endregion

            modelBuilder.ApplyConfiguration(new CountryConfiguration());

            
        }
Для развертывания Сайтов с использованием Blazor, Angular и React с репозиторием на GitHub на Cloudflare
Для развертывания Сайтов с использованием Blazor, Angular и React с репозиторием на GitHub на Cloudflare
Как развернуть сайты с помощью Blazor, Angular и React с репозиторием на GitHub на Cloudflare.
0
0
266
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это полностью основано на моей глупости.

  1. Логин пользователя не работает, потому что представление входа принимает адрес электронной почты, но передает его диспетчеру подписи в качестве имени пользователя. Ну имя пользователя и электронная почта разные. Глупый я

2 и 3 никогда не обновляются, потому что, хотя я меняю содержимое конфигурации, я никогда не удалял сценарий миграции и не сбрасывал снимок модели. Поэтому я продолжал обновлять базу данных с теми же исходными значениями.

Это был долгий день...

Другие вопросы по теме