3

書き換え中のレガシー アプリケーションがあり、既存のユーザー テーブルを変換中です。パスワードは、sha-1 とソルトを使用して暗号化されました。特にソルト+パスワード。たとえば、ソルトが ABC123 でパスワードが XYZ789 の場合、暗号化される文字列は ABC123XYZ789 になります。Spring Security はデフォルトで文字列 XYZ789{ABC123} を暗号化します。Spring Security のデフォルトの暗号化をバイパスするために、独自のパスワード暗号化/検証を実装するにはどうすればよいですか。

セキュリティ xml を投稿できますが、ハッシュ化されたパスワードを暗号化されたパスワード {salt} で更新すると、すべてが機能します。

助けてくれてありがとう!

4

1 に答える 1

6

メソッドをサブクラスShaPasswordEncoder化してオーバーライドしますmergePasswordAndSalt(String, Object, boolean)ここで、それが最初にどのように実装されたかを見ることができます。文字列の連結部分を変更するだけで完了です。

次に、次のように独自のものを提供しますpasswordEncoder

<beans:bean 
    id="passwordEncoder" 
    class="my.awesome.package.MyAwesomeShaPasswordEncoder"/>
于 2012-06-06T21:40:02.923 に答える