2016-11-07 7 views
0

私はDjangoのユーザモデルを認証バックエンドとして使用しています。今、私はすべてのユーザーをOpenLDAPサーバーに移行したいと思っています。 OpenLDAPに同じハッシュアルゴリズムとパスワード文字列形式を使用させることができれば、Djangoのパスワードハッシュをコピーするだけで、OpenLDAPをプラグインすると同じユーザー名とパスワードでログインすることができます。既存のDjangoユーザを同じパスワードでOpenLDAPに移行

私のDjangoのアプリの使用PBKDF2のhasingアルゴリズムので、私がやろうとしていることは、このモジュールを使用してPBKDF2を使用するのOpenLDAPを設定するには、次のとおりです。

pbkdf2_sha256 $ 12000:ジャンゴでhttps://github.com/hamano/openldap-pbkdf2

パスワードハッシュは次のようになります$ MySaltString $ somehashstring ...

何度も試してみましたが、OpenLDAPではうまく動作しませんでした。

もしあなたが私にいくつかのヒントを与えることができれば素晴らしいだろう。

どうもありがとう、

トリン

答えて

1

あなたがのpython3で作業している場合、あなたは私が正しいならば、あなたのサンプルスクリプトをしようとしているので、ldap3 package on this page http://ldap3.readthedocs.io/standard.html

from ldap3 import HASHED_SALTED_SHA 
from ldap3.utils.hashed import hashed 

hashed_password = hashed(HASHED_SALTED_SHA, 'new_password') 
connection.modify('cn=user1,o=test', {'userPassword': [(MODIFY_REPLACE,[hashed_password])]}) 
+0

に提供塩漬けメカニズムを使用することができますユーザパスワードをOpenLDAPに更新します。しかし、私がここでやろうとしているのは、DjangoのアプリケーションからOpenLDAPにハッシュされたパスワードをコピーして、そこからユーザを認証することです。 –

+0

ユーザ作成時に、openLDAPでパスワードを設定できるので、djangoアプリからパスワードをコピーする必要はありません。 – Dharmik

+0

ありがとうございます。しかし、私は新しいユーザーを作成したくありません。私はすべてのユーザをOpenLDAPに移行したいと思っています。 –

関連する問題