Spring Security 3.1.4.RELEASE以降、古いorg.springframework.security.authentication.encoding.PasswordEncoder
has been deprecatedはorg.springframework.security.crypto.password.PasswordEncoder
の方が有利です。私のアプリケーションは公開されていないので、非推奨のAPIに移行することにしました。Spring Securityの新しいPasswordEncoderの使用方法
これまで、私はReflectionSaltSource
を持っていました。ユーザーの登録日をパスワードごとに自動的に使用していました。ログイン処理中
String encodedPassword = passwordEncoder.encodePassword(rawPassword, saltSource.getSalt(user));
、春にはまた、SHA-1のデフォルトの実装であるため、ユーザーがまたは、私は新しいパスワードエンコーダでこれを達成することはできませんにサインインすることはできませんかどうかを確認適切に私の豆を使用。 - StandardPasswordEncoder
には、エンコーダの作成中にグローバルな秘密の塩を追加する機能しかありません。
非推奨のAPIを使用して設定する方法はありますか。
実際に登録したユーザーがいる場合はどうなりますか?私はPasswordencoderがある時点で削除されると仮定します。移行する方法は? – Marc
通常、アカウントを移行するには、ユーザーが正常にログインしたときにパスワードを再ハッシュする必要があります。また、移行期間に複数のアルゴリズムをサポートする必要があります。それを超えると、パスワードリセットが必要になるか、最終的には使用されなかった未使用のアカウントをロックまたは削除することができます。あなたのシステムと要件によって異なります。私はあなたが何らかの検索をすると、それに関する議論を見つけることができると確信しています。なぜなら、それは一般的な問題であり、パスワードdbの妥協の数が増えるにつれてより関連性が高くなるからです。少なくともあなたは[plaintext](http://ow.ly/qZQh0)を使用していません:-)。 –
私は生きていて、saltで古いPasswordEncoderを使っているアプリケーションを持っています。新しいPasswordEncoderに移行する方法の例はありますか? – user2213684