Изменить класс валидатора паролей в ASPNet. Пространство имен идентичности влияет на существующие пароли? - PullRequest
0 голосов
/ 10 октября 2019

Я работаю над существующим проектом ASPNet MVC, добавляя функцию «Забыли пароль», и когда я настраивал PasswordValidator, мне было интересно, как это повлияет на существующих производственных пользователей, если я внесу какие-либо изменения.

    //Configure validation logic for passwords       
    manager.PasswordValidator = new PasswordValidator
    {
        RequiredLength = 6,
        RequireNonLetterOrDigit = false,
        RequireDigit = false,
        RequireLowercase = false,
        RequireUppercase = false,
    };

Это то, как PasswordValidation был настроен ранее. Если я внесу изменения, чтобы сделать валидатор более строгим, повлияет ли это на существующих производственных пользователей, у которых уже есть «утраченный» пароль?

1 Ответ

0 голосов
/ 10 октября 2019

В .NET пароли проверяются только при их создании. После создания, если вы измените правила проверки, пароли, хранящиеся в вашем хранилище данных, не будут повторно проверены на соответствие новым правилам, пока пользователь не перейдет к их изменению. По крайней мере, пароли зашифрованы в вашем хранилище данных. В зависимости от настроек безопасности пароли могут быть хэшированы. Хешированные пароли не могут быть восстановлены для повторной проверки (можно сравнивать только хэши). Кроме того, расшифровка паролей и их повторная проверка может привести к огромным трудностям при обработке и потенциальной дыре в безопасности. .NET не делает этого. Вам не нужно беспокоиться об этом изменении, затрагивающем существующих производственных пользователей.

...