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