绑定期间Ldap获取名称


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( );

吉姆