私は、ユーザーがパスワードを変更する際に以前のパスワードを使用できないようにすることが義務づけられています。その目的のために、アイデンティティ・フレームワークがパスワードをハッシュしたときに、パスワードのハッシュを保存します。パスワードハッシュアイデンティティの枠組みと塩
私の質問は、新しく選択したユーザーのハッシュと以前保存したパスワードのハッシュを比較する方法です。アイデンティティ・フレームワークが使用している塩を考慮する必要があります。
更新:私はappUserManager.PasswordHasher.HashPassword(passwordToHash)
を使用してパスワードをハッシュしていますが、毎回新しいハッシュが作成されます(アイデンティティ・フレームワークが内部的に塩を使用していると仮定します)。
このaspnetcore ID以前のバージョン? –
ASP.NET ID v2.2 – webworm
私は、 'UserManager .UpdateAsync(TUser user)'をオーバーライドし、バックエンド履歴テーブルを使用します。ユーザーがパスワードを変更していて、履歴にあるN個のパスワードのいずれかである場合は、 'IdentityResult.Failed("パスワードを再利用できません。 ")で拒否します。 –