我正在尝试使用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
感谢您对此提供任何帮助!