代码之家  ›  专栏  ›  技术社区  ›  DrStalker

LDAP-如何检查用户名/密码组合?

  •  23
  • DrStalker  · 技术社区  · 16 年前

    使用LDAP检查用户名/密码就像尝试绑定该用户并记录结果一样简单,还是有一个特殊的LDAP“检查密码”功能?

    在处理一个凌乱的LDAP存储库设置问题时,我试图获得更多的“幕后”理解。

    4 回复  |  直到 7 年前
        1
  •  18
  •   geoffc    16 年前

    LDAP支持比较用户密码。发送密码后,服务器进行比较并返回true或false。这不需要登录方式来验证用户。

        2
  •  10
  •   mpromonet    11 年前

    WhoAmI有一个真正的用途-验证提交的绑定凭据。它不应该影响或引起任何“登录限制”(我知道)。

    WhoAmI可以使用专用的二进制文件(例如“ldapwhoami”)完成,也可以使用Net::LDAP::Extension::WhoAmI(Perl)或其他支持LDAP操作的类似语言完成。请注意,使用“搜索”功能“测试密码”是一种不明智的测试方法。

    ldapwhoami -x -w "@secret" -D uid=max,ou=users,dc=company,dc=com -ZZ -H ldap://address.of.your.ldapserver/
    

    如果用户/密码组合正确,则返回的答案是:

    如果用户/密码组合不正确,则返回的答案是(通常):

    (49)无效凭证

    这可能意味着,正如我所说,密码和/或用户名是错误的,用户不存在,或者LDAP服务器的ACL以这样的方式被破坏,即认证是不可能的。通常情况下,它的用户/传递组合被误用,或者用户不存在。

        3
  •  5
  •   casperghst42    15 年前

    注意使用bind检查用户名/密码,在某些系统上,它将被视为登录,如果有登录限制,它可能会失败。

    使用compare是检查密码的更好选择。

        4
  •  3
  •   user207421    14 年前

    作为该用户绑定就足够了。密码在绑定过程中被检查。