[英]ldap get name during bind
我認為這應該很容易,但是我已經花了幾個小時了。 我試圖在綁定到LDAP服務器時從其獲取信息。 綁定很好,但30秒后超時,表明部分結果。 如果我注釋掉搜索部分,則綁定是即時的(假設用戶名,密碼正確),所以我知道這是可行的。 我想獲取LDAP在該用戶名上擁有的所有信息,但是我只想使用該名稱。
$ldapuser = 'mypassword';
$ldappass = 'myusername';
$ldapconn = ldap_connect("ldap://ds.cisco.com:389")
or die("Could not connect to the ldap server");
if($bind = @ldap_bind($ldapconn, $ldapuser."@cisco.com", $ldappass)) {
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
$filter = "(uid=" . $ldapuser."@cisco.com" . ")";
$ldap_dn = "DC=cisco,DC=com";
$attr = array("sn","cn");
$result = ldap_search($ldapconn, $ldap_dn, $filter, $attr) or exit("Unable to search LDAP server");
$entries = ldap_first_entry($ldapconn, $result);
ldap_unbind($ldapconn);
echo '<pre>';
print_r($entries);
echo '</pre>';
}
嘗試更改:
$attr = array("sn","cn");
至:
$attr = array( );
-吉姆
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.