2016-10-07 22 views
0

ldapでSpringセキュリティを実装していて、ldifファイルでプレーンテキストのパスワードを使用している間は正常に動作していますが、ldapファイルでhashed {S​​HA} "不正な"spring ldapで符号化(SHA)パスワードを実装する方法

コード:

 AndFilter filter = new AndFilter(); 
    filter.and(new EqualsFilter("objectclass", "person")).and(
     new EqualsFilter("uid", authentication.getPrincipal() 
     .toString())); 

    boolean authenticatedUser = ldapTemplate.authenticate(<DN>, filter.encode(),<password>); 

test.ldif:

dn: uid=test ,ou=people,dc=springframework,dc=org 
    objectclass: top 
    objectclass: person 
    objectclass: organizationalPerson 
    objectclass: inetOrgPerson 
    cn: Rod Johnson 
    sn: Johnson 
    uid: test 
    userPassword: {SHA}a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 

ldapTemplate.authenticateを実装するための正しい方法は何ですか?

答えて

0

LDAPディレクトリサーバーは通常、ユーザーのパスワードを検出しないようにユーザーのパスワードをハッシュします。サーバーがクリアテキスト・パスワードまたはハッシュ・パスワードのインポートまたは追加を処理する方法は、サーバー固有のものです。これが標本データであれば、それを平文で保存してください。すでにハッシュされているパスワードを使用して既存のユーザーデータをインポートする場合は、使用したアルゴリズムが選択したDirectory Serverでサポートされているかどうか、およびサーバーの表現は何かを確認する必要があります。

関連する問題