PHP ldap_bind()身份验证 - 错误无法绑定到服务器:凭据无效?

use*_*930 3 php ldap

我正在尝试使用PHP对LDAP用户进行身份验证.我有用户的DN,我检查了正确.我也有密码.这是用户进行身份验证时的正确密码SamAccountName.

我希望这是使用DN进行身份验证时使用的密码.没有针对LDAP的专有名称密码?以下是我使用PHP ldap_bind()函数进行身份验证的代码.我这样做是对的吗?

$ldaphost="ldap://somehost.com:3268";
$dn = "cn=LastName\, FirstName Dept/Country/ext,OU=Accounts,OU=Location,ou=Division,";
$basedn="dc=abc,dc=enterprise";

if (!($connect = ldap_connect($ldaphost))) {    
  die ("Could not connect to LDAP server"); 
} 

$ldapbind = ldap_bind($connect, "$dn" . "$basedn", $password);

if ($ldapbind) {
   echo "LDAP bind successful...";
} else {
   echo "LDAP bind failed...";
}
Run Code Online (Sandbox Code Playgroud)

我从上面的代码得到的结果是:

警告:ldap_bind()[function.ldap-bind]:无法绑定到服务器:无效的凭据LDAP绑定失败...

ldap_bind()发出呼叫的线路:

$ldapbind = ldap_bind($connect, "$dn" . "$basedn", $password);
Run Code Online (Sandbox Code Playgroud)

凭据无效使我相信DN或密码可能存在错误.我已经对DN进行了三次检查,据我所知,没有错误.

有任何想法吗?

Ste*_*n B 9

我猜您正在连接到Microsoft域,您可以尝试使用域语法获取凭据.对于DOMAIN中的User015 - DOMAIN\user015