ASP.NET Core Identity запрещает пользователю использовать тот же пароль

У меня есть проект, в котором я использую ASP.NET Core Identity (с IdentityServer4) для аутентификации пользователя.

Когда я использую ChangePasswordAsync для смены пароля, он позволяет новому паролю совпадать с текущим паролем. Есть ли способ предотвратить это?


person Sarahbe    schedule 15.11.2020    source источник
comment
Поделитесь своим кодом, который используется для смены пароля.   -  person TanvirArjel    schedule 15.11.2020
comment
вы можете реализовать в контроллере, если он есть, чтобы предотвратить старый пароль == новый пароль. Если вы хотите реализовать сам API идентификации, попробуйте stackoverflow.com/questions/42787120 . Кроме того, я считаю, что вас может заинтересовать политика повторного использования паролей, для справки: stackoverflow.com/questions/15065429 и stackoverflow.com/questions/48783202   -  person wuiyang    schedule 15.11.2020
comment
Я пытался избежать внедрения валидатора паролей, но, как я теперь вижу, нет другого выхода, кроме его использования.   -  person Sarahbe    schedule 16.11.2020
comment
Большое спасибо за дополнительные ресурсы.   -  person Sarahbe    schedule 16.11.2020
comment
используя старый пароль == новый пароль. не вариант, потому что он будет сравнивать два пароля без проверки пароля. поэтому, если пользователь вводит случайное слово (не правильный пароль) в текущий и новый пароль, будет показано предупреждение, что не имеет смысла.   -  person Sarahbe    schedule 16.11.2020
comment
На мой взгляд, вы можете создать собственный валидатор паролей и использовать JS ajax для вызова валидатора сервера.   -  person Brando Zhang    schedule 19.11.2020