[英]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.