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

时间:2011-11-30 16:56:21

标签: 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...";
}

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

  

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

ldap_bind()调用的行开始:

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

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

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:3)

在处理ldap时,我总是发现jxplorer有用

相关问题