轻松测试LDAP用户凭据的方法

时间:2013-04-27 02:03:30

标签: directory ldap opends opendj

是否有一种简单的方法可以针对LDAP实例测试用户的凭据?我知道如何编写一个带有“用户DN”和密码的Java程序,并根据LDAP实例进行检查。但有没有更简单的方法?特别是一种方法,不仅可以对用户进行身份验证,还可以列出所有用户的角色。

5 个答案:

答案 0 :(得分:59)

ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>,其中binddn是您要对其身份验证进行身份验证的人员的DN。

成功(即有效凭证)后,您获得Result: Success (0)。如果失败,您将获得ldap_bind: Invalid credentials (49)

答案 1 :(得分:13)

使用ldapsearch进行身份验证。 opends版本可能如下使用:

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

答案 2 :(得分:8)

您应该查看Softerra的LDAP浏览器( LDAP管理员的免费版),可在此处下载:

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

我已经将此应用程序广泛用于我的所有Active Directory,OpenLDAP和Novell eDirectory开发,并且它绝对具有无可估量的价值。

如果您只想检查并查看用户名\密码组合是否有效,您只需为LDAP服务器创建“配置文件”,然后在创建过程的第3步中输入凭据:

enter image description here

单击“完成”,您将使用您指定的凭据,身份验证机制和密码有效地向服务器发出绑定。如果绑定不起作用,系统将提示您。

答案 3 :(得分:1)

通过简单的ldap_bind命令完成身份验证,该命令获取用户DN和密码。绑定成功时,将对用户进行身份验证。通常,您将通过基于用户uid或email-address的ldap_search获取用户DN。

获取用户角色是不同的,因为它是ldap_search并且取决于角色在ldap中的存储位置和方式。但是您可以在用于查找用户DN的lap_search期间检索角色。

答案 4 :(得分:0)

请注意,如果您不知道完整的绑定DN,也可以只使用普通用户名或带有-U的电子邮件

ldapsearch -v -h contoso.com -U turiya.gouw@contoso.com -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'