使用正确凭据的 ldap 身份验证问题

ldap authentication issue with the right credentials

我正在连接到我的 ldap 帐户 "myApp" 并尝试验证 "usernumber"。

我登录 ldap 帐户的连接字符串是:

security.ldap.cert.userDn=uid=myApp,ou=Org Unit,ou=application,dc=XXX,dc=com
security.ldap.cert.password=mypassword

我的用户号搜索过滤器是:

<property name="searchFilter" value="usernumber={0}" />
<property name="searchBasePattern" value="ou=User,o=network" />

我正在获取:

Your login attempt was unsuccessful. Please try again.
Cause: Bad credentials

我尝试了不同的用户号及其对应的密码。甚至创建了一个新的用户号以确保它确实存在于 ldap 服务器中。但仍然显示相同的错误。难道还有其他原因吗? 不同的ldap账号会有不同的权限吗??

在你的问题中,你提供了 2 个不同的东西:

  1. 您的 DN 和密码。
  2. 搜索的一些参数。

为了在 LDAP 中搜索,您需要 "connect"(又名 "bind")到它 - 这是使用 #1 的地方。错误消息可能与此步骤有关,因此请仔细检查您的 DN 和相应的密码。

要验证用户密码,您需要知道用户 DN。因此,通常需要使用您在 #1 中的 technical/application 凭据连接到 LDAP,然后使用 #2 搜索用户,最后当您获得用户的 DN 时,您执行检查 "connecting" 使用找到的 DN 和用户密码。