如何使用基于uid的ldap_bind登录用户?

时间:2014-09-19 01:12:43

标签: php active-directory ldap

现在我必须编写完整的查询,才能登录用户。 有没有办法只使用唯一标识符而不是编写完整的rdn来执行ldap_bind。

或者,如果我可以指定基本DC,那么如果有用户的子ou,它就可以检查。

ldap_bind($ds, "uid=my_user", "password") versus  

ldap_bind($ds,"uid=my_user,ou=developers,dc=mycompan,dc=org","password")

1 个答案:

答案 0 :(得分:1)

您必须使用完整的DN对LDAP进行身份验证。别无他法。

您可以做的是使用默认用户帐户或匿名绑定搜索包含您首选登录数据的LDAP条目。然后从返回的条目中检索DN并将其用于第二个绑定。这样,您的用户只需输入唯一标识符,您仍然可以使用DN进行绑定。

有关代码示例,请查看https://gist.github.com/heiglandreas/5689592