2013-04-27 20 views
38

LDAPインスタンスに対してユーザーの資格情報を簡単にテストする方法はありますか?私は 'User DN'とパスワードを取るJavaプログラムを作成し、それをLDAPインスタンスと照合する方法を知っています。しかし、簡単な方法はありますか?特に、ユーザーを認証するだけでなく、すべてのユーザーの役割をリストする方法です。LDAPユーザーの資格情報を簡単にテストする方法

答えて

1

認証は、ユーザーのDNとパスワードを使用する単純なldap_bindコマンドで行います。バインドが成功すると、ユーザーは認証されます。通常、ユーザーのDNまたは電子メールアドレスに基づいてldap_searchを使用してユーザーDNを取得します。

ユーザーロールを取得することはldap_searchと異なり、ldapにロールが格納される場所と方法によって異なります。しかし、ユーザーDNを見つけるために使用されるlap_searchの間に役割を取り出すことができるかもしれません。

+0

ご返信ありがとうございます。私が本当に探しているのは、ユーザーのDNとパスワードを入力できるツールです。このツールは、ユーザーがこれらの資格情報で認証できるかどうかをテストして確認します。これは非常に簡単な開発ツールです。私はすでにそのようなツールがあることを願っていました。 – user1888243

+0

ツールの名前はldap_bindです。 – EJP

+0

Unix/Linuxは 'ldapsearch'(主にopenLDAPから提供されています)、適切なオプションで 'プロセスリスト'の 'history'にパスワードが表示されません。 –

11

ldapsearchを使用して認証します。次のようopendsバージョンが使用されることがあります。

ldapsearch --hostname hostname --port port \ 
    --bindDN userdn --bindPassword password \ 
    --baseDN '' --searchScope base 'objectClass=*' 1.1 
+0

この方法でパスワードをプロセスリストの平文で見ることができますか? – Kiril

+2

@Kiril私は '--b'Passwrd password'を' -W'(パスワードの入力要求)に置き換えることで問題を解決すると思います。 – ibic

8

あなたはここからダウンロードすることができますSofterraのLDAPブラウザ(無料版LDAP管理者の)を、チェックアウトする必要があります:

http://www.ldapbrowser.com/download.htm

I私のActive Directory、OpenLDAP、Novell eDirectoryの開発にこのアプリケーションを広範囲に使用してきました。これは絶対に貴重です。

ユーザー名とパスワードの組み合わせが機能しているかどうかだけを確認したい場合は、LDAPサーバーの「プロファイル」を作成し、作成プロセスのステップ3で資格情報を入力するだけです。

enter image description here

「完了」をクリックすると、あなたは効果的に使用すると、指定した資格情報、認証メカニズム、およびパスワードを使用してサーバーにバインドを発行します。バインドが機能しない場合は、プロンプトが表示されます。

+1

これは** **動作しません:これは、指定されたユーザーがLDAPからユーザー情報を一覧表示する権限を持っているかどうかをチェックします。その場合、ユーザーの資格情報が有効な間も認証が失敗する可能性があります。 – Sebazzz

+0

No.このコマンドは、標準のログイン試行と同様に、完全なディレクトリバインドを発行します。ベースディレクトリを表示する権限がない場合は、空白の画面が表示されます。 – X3074861X

+0

偉大な答え!そのアプリケーションを知らなかった。どうもありがとうございます! – ClownCoder

-3

あなたは、Kerberosのかについて設定した場合:

kinit -V [email protected] 
+0

これはリモートとどのように関連していますか? – serverhorror

42

ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>binddn資格情報あなたが認証されている人物のDNです。

成功すると(有効な資格情報)、Result: Success (0)となります。失敗した場合はldap_bind: Invalid credentials (49)となります。

関連する問題