是否可以使用用户凭据绑定到ldap服务器并返回该用户的OU成员资格详细信息?
我正在创建一个系统,用户登录,与LDAP服务器绑定,并根据他们是正确视图成员的OU进行渲染。
目前我可以返回有关用户的一些详细信息,但它要求我使用用户CN。我希望用户不必输入他们的名字。
$user='xxx';
$pass='yyy';
$ldaprdn = $user.'@x.xxx.com'; // ldap rdn or dn :: We concatenate the username with the domain to create the proper string for querying the ldap server
$ldappass = $pass; // associated password
$ldapconn = ldap_connect("x.xxx.com")
or die("Could not connect to LDAP server.");
if ($ldapconn) {
// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
}
// verify binding
if ($ldapbind) {
$ds = 'nx.xxx.com';
$dn ="cn=Jonathan Rxxxr,OU=MIS Department,OU=People,DC=x,DC=xxx,dc=com";
$filter="(objectClass=user)";
$justthese = array("ou", "sn", "dn", "givenname", "mail");
$sr=ldap_search($ldapconn, $dn, $filter, $justthese);
$info = ldap_get_entries($ldapconn, $sr);
$ou = strtolower($info[0]["mail"][0]);
echo $ou;
print_r($info);//I print the array just for debugging purposes
echo $info["count"]." entries returned\n";
echo "success";