通过LDAP使用PHP从AD获取所有用户的组

时间:2015-07-19 20:26:32

标签: php search active-directory ldap

我正在尝试使用PHP获取用户所属的所有组。我能够获取memberof属性中列出的所有组,但不能获取用户的继承组。

我已经尝试修改代码以对组名/ samaccount名称执行ldap_search但是我没有成功搜索组的memberof属性。

以下是我正在使用的代码。

$checkDn=$this->setDn(true); 
$results[0]=$attribute; 

// We need to search for this user in order to get their entry.
$this->result=@ldap_search($this->connection,$checkDn,$this->getUserIdentifier()."=$uname",$results);
$info=ldap_get_entries($this->connection, $this->result);

// Only one entry should ever be returned(no user will have the same uid) 
$entry=ldap_first_entry($this->connection, $this->result);

if(!$entry){
 $this->ldapErrorCode=-1;
 $this->ldapErrorText="Couldn't find user";
 return false; // Couldn't find the user...
}

// Get all the member DNs
if(!$values=@ldap_get_values($this->connection,$entry,$attribute)){
 $this->ldapErrorCode=ldap_errno($this->connection);
 $this->ldapErrorText=ldap_error($this->connection);
 return false; // No matching attributes 
}

// Return an array containing the attributes. 
return $values; 

以下是他们所属的示例组。

CN=Business Operations,OU=Groups,OU=Operations,OU=Corporate,OU=company name,DC=website,DC=com

感谢您对此提供任何帮助!

0 个答案:

没有答案