【问题标题】:ldap authentication issue with the right credentials具有正确凭据的 ldap 身份验证问题
【发布时间】:2015-01-14 14:14:08
【问题描述】:

我正在连接到我的 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账号会不会有不同的权限??

【问题讨论】:

    标签: authentication search ldap


    【解决方案1】:

    在您的问题中,您提供了 2 个独立的内容:

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

    为了在 LDAP 中搜索,您需要“连接”(也称为“绑定”)到它 - 这是使用 #1 的地方。错误消息可能与此步骤有关,因此请仔细检查您的 DN 和相应的密码。

    要验证用户的密码,您需要知道用户 DN。因此,通常需要使用您在 #1 中拥有的技术/应用程序凭据连接到 LDAP,然后使用 #2 搜索用户,最后当您获得用户的 DN 时,通过“连接”执行检查找到 DN 和用户密码。

    【讨论】:

    • 我的“连接”(又名“绑定”)工作正常。我通过给它错误的值来检查它。我正在获得 Ldap 错误。但我猜我的问题是特定于用户 dn 的。我的用户在节点“usernumber”下,我仔细检查了他们是否真的在那里。我的框架正在为我检查用户 dn 和密码,并给我带来错误凭据的消息。
    • 用户的 DN 是否看起来像这样:“usernumber=xxx,ou=User,o=network”?请注意,您应该使用完整的用户 DN,它可能不一定包含“usernumber=xxx”,但例如"uid=yyy,ou=User,o=network"。
    • 我已连接到我的 ldap,现在我必须检查该用户编号是否存在。应该检查每个尝试登录的用户是否存在。用户 DN 为“usernumber=xxx,ou=User,o=network”。但这只是我必须验证所有尝试登录的用户。所以我给“searchBasePattern”value="ou=User,o=network" 和“searchFilter”value="usernumber={0}"。我相信这是正确的做法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多