71

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

4

5 回答 5

96

ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>binddn您正在对其凭据进行身份验证的人员的 DN 在哪里。

成功后(即有效凭据),您将获得Result: Success (0). 失败时,你得到ldap_bind: Invalid credentials (49).

于 2014-07-04T18:21:53.227 回答
16

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

ldapsearch --hostname hostname --port port \
    --bindDN userdn --bindPassword password \
    --baseDN '' --searchScope base 'objectClass=*' 1.1
于 2013-04-29T11:02:19.547 回答
11

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

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

我在所有 Active Directory、OpenLDAP 和 Novell eDirectory 开发中都广泛使用了这个应用程序,它绝对是无价之宝。

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

在此处输入图像描述

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

于 2013-05-03T21:58:29.080 回答
6

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

ldapsearch -v -h contoso.com -U turiya.gouw@contoso.com -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'
于 2019-04-12T19:17:03.457 回答
3

身份验证通过一个简单的 ldap_bind 命令完成,该命令采用用户 DN 和密码。绑定成功后,用户被认证。通常,您会通过基于用户 uid 或电子邮件地址的 ldap_search 获取用户 DN。

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

于 2013-04-27T11:16:26.570 回答