[英]How to get the full name from LDAP using PHP
使用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";
}
?>
任何建議,我想念什么? 謝謝。
打開與Active Directory的連接時,您需要設置幾個選項以確保鏈接正常運行,如下所示:
...
$ldap = ldap_connect($hostname);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
if ($bind = ldap_bind($ldap,$username . $account_suffix, $password)) {
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.