我正在尝试连接到通过PHP 7.2使用简单绑定的LDAP。
我使用LDAP Admin桌面应用程序来检查我的设置,并且一切正常。该应用程序以name.surname
和密码的形式使用我的sAMAccountName进行登录。我想通过PHP实现相同的操作,但成功登录的唯一方法如下:
$ldap_user = "CN=Name Surname,OU=Users,OU=Sample,DC=sample,DC=othersample";
$ldap_pass = "myPassword";
$c = ldap_connect("ldap://x.x.x.x", 389);
ldap_set_option($c, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($c, LDAP_ESCAPE_DN, 1);
ldap_bind($c, $ldap_user, $ldap_pass);
但是,我的目标是使$ldap_user
成为name.surname
,就像应用程序使用它的方式一样。
有没有办法做到这一点?
答案 0 :(得分:1)
您将需要执行三步方法:
在https://gist.github.com/heiglandreas/5689592
查看示例当您绑定到ActiveDirectory时,当您以AD域为前缀时,您可能也可以直接使用sAMAccountName,例如:DOMAIN\sAMAccountName
希望有帮助