2016-08-15 7 views
0

나는 이것이 쉬워야한다고 생각한다. 그러나 나는 지금 몇 시간 동안 그렇게 해왔다. 바인딩하는 동안 LDAP 서버에서 정보를 가져 오려고합니다. 바인드는 괜찮지 만 부분적 결과를 말하는 30 초 후에 타임 아웃됩니다. 검색 부분을 주석으로 처리하면 바인드가 즉시 이루어 지므로 (사용자 이름, 암호가 맞으면 제공됨) 작동한다는 것을 알게됩니다. LDAP에있는 사용자 이름에 관한 모든 정보를 얻고 싶습니다.하지만 그 이름만으로 해결할 수 있습니다.ldap bind 동안 이름을 얻는다

$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>'; 

} 

답변

0

변경해보십시오 :

$attr = array("sn","cn"); 

에 :

$attr = array(); 

- 짐

관련 문제