web-dev-qa-db-ja.com

LDAPユーザーの資格情報をテストする簡単な方法

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

52
user1888243

ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>、ここでbinddnは、資格情報を認証している人のDNです。

成功すると(つまり、有効な資格情報)、Result: Success (0)を取得します。失敗すると、ldap_bind: Invalid credentials (49)が返されます。

63
Yuvika

ldapsearchを使用して認証します。 opendsバージョンは次のように使用できます。

ldapsearch --hostname hostname --port port \
    --bindDN userdn --bindPassword password \
    --baseDN '' --searchScope base 'objectClass=*' 1.1
13
Terry Gardner

SofterraのLDAPブラウザ(LDAP Administratorの無料バージョン)を確認してください。こちらからダウンロードできます。

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

私はこのアプリケーションをすべてのActive Directory、OpenLDAP、およびNovell eDirectoryの開発に幅広く使用してきましたが、非常に貴重なものでした。

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

enter image description here

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

8
X3074861X

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

ユーザーのロールを取得することは、ldap_searchであり、ロールがldapのどこにどのように保管されているかによって異なるため、何かが異なります。ただし、ユーザーDNを見つけるために使用されるlap_search中にロールを取得できる場合があります。

1
heiglandreas

完全なバインドDNがわからない場合は、-Uを使用して通常のユーザー名またはメールを使用することもできます。

ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'
1
turiyag