【发布时间】:2017-12-05 15:43:01
【问题描述】:
我正在尝试使用 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 进行了三次检查,据我所见,那里没有错误。
有什么想法吗?
【问题讨论】: