LDAPインスタンスに対してユーザーの資格情報をテストする簡単な方法はありますか? 「ユーザーDN」とパスワードを取得し、LDAPインスタンスと照合するJavaプログラムを作成する方法を知っています。しかし、もっと簡単な方法はありますか?特に、ユーザーを認証するだけでなく、すべてのユーザーのロールをリストする方法。
ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>
、ここでbinddn
は、資格情報を認証している人のDNです。
成功すると(つまり、有効な資格情報)、Result: Success (0)
を取得します。失敗すると、ldap_bind: Invalid credentials (49)
が返されます。
ldapsearch
を使用して認証します。 opends
バージョンは次のように使用できます。
ldapsearch --hostname hostname --port port \
--bindDN userdn --bindPassword password \
--baseDN '' --searchScope base 'objectClass=*' 1.1
SofterraのLDAPブラウザ(LDAP Administratorの無料バージョン)を確認してください。こちらからダウンロードできます。
http://www.ldapbrowser.com/download.htm
私はこのアプリケーションをすべてのActive Directory、OpenLDAP、およびNovell eDirectoryの開発に幅広く使用してきましたが、非常に貴重なものでした。
ユーザー名とパスワードの組み合わせが機能するかどうかを確認する場合は、LDAPサーバーの「プロファイル」を作成し、作成プロセスのステップ3で資格情報を入力するだけです。
[完了]をクリックすると、指定した資格情報、認証メカニズム、およびパスワードを使用して、サーバーにバインドを効果的に発行できます。バインドが機能しない場合は、プロンプトが表示されます。
認証は、ユーザーDNとパスワードを取得する単純なldap_bindコマンドを介して行われます。ユーザーは、バインドが成功すると認証されます。通常、ユーザーuidまたは電子メールアドレスに基づいてldap_searchを介してユーザーDNを取得します。
ユーザーのロールを取得することは、ldap_searchであり、ロールがldapのどこにどのように保管されているかによって異なるため、何かが異なります。ただし、ユーザーDNを見つけるために使用されるlap_search中にロールを取得できる場合があります。
完全なバインドDNがわからない場合は、-U
を使用して通常のユーザー名またはメールを使用することもできます。
ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'