Как переопределить политику паролей ASP.NET Core Identity

По умолчанию для политики паролей ASP.NET Core Identity требуется как минимум один специальный символ, одна заглавная буква, одно число ...

Как я могу изменить эти ограничения?

Об этом ничего нет в документации (https://docs.asp.net/en/latest/security/authentication/identity.html)

Я пытаюсь переопределить диспетчер пользователей Identity, но не вижу, какой метод управляет политикой паролей.

public class ApplicationUserManager : UserManager<ApplicationUser>
{
    public ApplicationUserManager(
        DbContextOptions<SecurityDbContext> options,
        IServiceProvider services,
        IHttpContextAccessor contextAccessor,
        ILogger<UserManager<ApplicationUser>> logger)
        : base(
              new UserStore<ApplicationUser>(new SecurityDbContext(contextAccessor)),
              new CustomOptions(),
              new PasswordHasher<ApplicationUser>(),
              new UserValidator<ApplicationUser>[] { new UserValidator<ApplicationUser>() },
              new PasswordValidator[] { new PasswordValidator() },
              new UpperInvariantLookupNormalizer(),
              new IdentityErrorDescriber(),
              services,
              logger
            // , contextAccessor
              )
    {
    }

    public class PasswordValidator : IPasswordValidator<ApplicationUser>
    {
        public Task<IdentityResult> ValidateAsync(UserManager<ApplicationUser> manager, ApplicationUser user, string password)
        {
            return Task.Run(() =>
            {
                if (password.Length >= 4) return IdentityResult.Success;
                else { return IdentityResult.Failed(new IdentityError { Code = "SHORTPASSWORD", Description = "Password too short" }); }
            });
        }
    }

    public class CustomOptions : IOptions<IdentityOptions>
    {
        public IdentityOptions Value { get; private set; }
        public CustomOptions()
        {
            Value = new IdentityOptions
            {
                ClaimsIdentity = new ClaimsIdentityOptions(),
                Cookies = new IdentityCookieOptions(),
                Lockout = new LockoutOptions(),
                Password = null,
                User = new UserOptions(),
                SignIn = new SignInOptions(),
                Tokens = new TokenOptions()
            };
        }
    }
}

Я добавляю эту зависимость менеджера пользователей в класс стартапа:

services.AddScoped<ApplicationUserManager>();

Но когда я использую ApplicationUserManager в контроллерах, у меня возникает ошибка: при обработке запроса произошло необработанное исключение.

InvalidOperationException: невозможно разрешить службу для типа «Microsoft.EntityFrameworkCore.DbContextOptions`1 [SecurityDbContext]» при попытке активировать «ApplicationUserManager».

РЕДАКТИРОВАТЬ: Управление пользователями работает, когда я использую классы ASP.NET Core Identity по умолчанию, поэтому это не проблема базы данных или что-то вроде этого

РЕДАКТИРОВАТЬ 2: Я нашел решение, вы просто должны настроить Identity в классе запуска. Мой ответ дает некоторые детали.

Ответы на вопрос(1)

Ваш ответ на вопрос