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


How do I log into user with ldap_bind based off of uid?

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

或者,如果我可以指定基本DC,这样,如果其中有用户的子ou,它将能够进行检查。

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

您必须使用完整的DN来根据LDAP进行身份验证。别无选择。

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

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