首页 文章

检查LDAP服务器的凭据

提问于
浏览
0

假设一个应用程序可以配置为使用LDAP服务器 - 无论是ActiveDirectory还是OpenLDAP等 - 用于验证其用户并检索有关它们的一些其他信息以进行授权 . 应用程序绑定到LDAP服务器的方式也是可配置的 - 它可以使用简单绑定或SASL绑定,具体取决于LDAP服务器支持的内容和总体安全要求 .

它并非总是如此;即使提供了一个空的密码,其中非空的密码实际上是预期的,也可能发生简单的绑定成功 . 根据RFC about LDAP authentication methods,使用非空用户名和空密码的简单绑定被解释为使用匿名授权 Build 未经身份验证的连接的意图 . 可以将服务器配置为使用unwillingToPerform失败,但也可以允许它们 .

问题是:在这样的场景中,应用程序可以配置为使用各种LDAP服务器,并以可配置的方式绑定 - 简单或通过SASL - 有一种方法可以明确地检查用户针对该特定输入的凭据LDAP服务器,除了尝试与这些凭据绑定之外,假设简单的绑定可能导致误报?

谢谢,我期待着你的回复 .

2 回答

  • 0

    当然,你所要做的就是不允许,或者甚至只记得密码为空的情况?

  • 0

    至少在PHP中,你只需要这样做:

    <?php
    $ds = ldap_connect($ip_address);
    if(@ldap_bind($ds, $username, $password) {
      // Login successful!
    } else {
      // Login unsuccessful :(
    }
    ?>
    

    您的里程可能因其他语言而异,但这对我有用 .

相关问题