如何进行Ldap服务器身份验证?

时间:2012-04-27 10:35:43

标签: authentication ldap splunk python-ldap

我已经在某处设置了 Ldap服务器 。我可以绑定它,可以添加,修改,删除数据库中的条目。现在谈到身份验证并不是简单到给服务器提供用户名和密码,要求它搜索匹配两者的条目?此外,不是包含用户密码的“ userPassword ”字段吗?

现在, 我尝试设置 splunk 以从我的Ldap服务器进行身份验证,我提供了用户名和密码,但验证失败。 splunk检查的' userPassword '字段不是吗?应该是什么原因?

3 个答案:

答案 0 :(得分:2)

出于明显的安全原因,LDAP服务器通常不允许您搜索userPassword属性。 (并且密码属性可能无论如何都以散列形式存储,因此直接搜索不起作用。)

相反,执行LDAP身份验证的常用方法是:

  • 提示用户名&密码
  • 使用您的应用程序帐户绑定到LDAP,搜索username以获取用户LDAP条目的完整可分辨名称(dn)
  • 建立新的LDAP连接,并尝试使用用户的dn& amp;密码

(如果你知道如何从用户名构造dn,你可以跳过第2步,但首先搜索通常是一个好主意 - 这样你对LDAP的OU结构的变化不太敏感目录)

答案 1 :(得分:1)

通常,您将使用LDAP树中的uid或cn值提供的用户名值进行搜索。

-Jim

答案 2 :(得分:0)

我认为此代码可以帮助您解决身份验证问题。我已经回答了解决问题的方法。您可以查看此问题http://bit.ly/TIJMte