我正在尝试使用PHP从LDAP登录后获取用户的全名。我成功连接到LDAP但是根据用户名获取全名仍然无效。
这是我的代码
<?php
$username = '*****';
$password = '*****';
$account_suffix = '@*****.com';
$hostname = '**.**.*.***';
$ldap = ldap_connect($hostname);
if ($bind = ldap_bind($ldap,$username . $account_suffix, $password)) {
echo "success";
if ($bind) {
$filter="(sAMAccountName=$username)";
$result = ldap_search($ldap,"dc=****,dc=com",$filter);
ldap_sort($ldap,$result,"sn");
$info = ldap_get_entries($ldap, $result);
for ($i=0; $i<$info["count"]; $i++)
{
if($info['count'] > 1)
break;
echo "<p>You are accessing <strong> ". $info[$i]["sn"][0] .", " . $info[$i]["givenname"][0] ."</strong><br /> (" . $info[$i]["samaccountname"][0] .")</p>\n";
echo '<pre>';
var_dump($info);
echo '</pre>';
$userDn = $info[$i]["distinguishedname"][0];
}
@ldap_close($ldap);
}
} else {
echo "failed";
}
?>
有什么建议,请问我缺少什么?谢谢。