У меня есть решение 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());
}
Это полностью основано на моей глупости.
2 и 3 никогда не обновляются, потому что, хотя я меняю содержимое конфигурации, я никогда не удалял сценарий миграции и не сбрасывал снимок модели. Поэтому я продолжал обновлять базу данных с теми же исходными значениями.
Это был долгий день...