php将ldap绑定到活动目录

时间:2011-11-28 18:56:31

标签: php active-directory ldap

在PHP中,如何使用默认cn以外的属性进行绑定? (我不是问如何使用LDAP搜索查询验证用户帐户,我特别询问如何使用PHP中的sAMAaccountname和密码进行绑定。)

在Perl中,可以通过指定要直接在LDAP字符串上查询的属性来实现:

ldap://ldap.example.com/dc=example,dc=com?sAMAccountName 

php ldap_connect函数只接受服务器名称,因此无法传递这些附加参数。此外,绑定功能只接受连接,用户名和密码。

2 个答案:

答案 0 :(得分:7)

Connect只是打开连接,它不会在连接上设置任何凭据。连接打开后,使用ldap_bind将其绑定到一组凭据。

在连接到AD时,您可以使用3种不同的用户名格式。

  1. DN。
  2. samAccountName,可能需要也可能不需要以域为前缀的域名 它为Domain\samAccountName
  3. 用户主体名称,其格式类似于电子邮件地址。

答案 1 :(得分:0)

我过去曾使用过adLDAP,而且效果非常好。如果您选择不使用该脚本,它至少应该指向正确的方向(啊,开源的乐趣)。