2017-01-04 9 views
0

Возможно ли получить только членов группы LDAP в PHP?PHP LDAP Получить членов группы

Я искал google немного, но нашел только сложные решения. Мне просто нужно имя и ничего больше.

$dn = "o=my_company, c=CH"; 
$filter="(|(sn=$person*)(vorname=$person*))"; 
$justthese = array("ou", "sn", "vorname", "mail"); 

Пользователи перечислены в группе с UID

я нашел что-то подобное, но не может получить где-нибудь с этим. Надеюсь, вы можете мне помочь, и если вам нужна дополнительная информация, скажите мне, пожалуйста,

+0

Это может значительно зависеть от вашей схемы LDAP. Включает ли группа членов или имеет ли каждый атрибут 'memberOf'? – yakatz

+0

У группы есть член, а пользователи не имеют атрибутов 'memberOf' – Damon

+0

Являются ли перечисленные члены их' uid', 'dn',' mail' или что-то еще? Кроме того, это стандартная схема где-то или обычай? – yakatz

ответ

1

На основании дополнительной информации в комментариях вы не можете сделать это в одном запросе LDAP.

Это схема возможного решения. Я использовал что-то вроде этого для менеджера почтовых списков LDAP, который я написал. (Это синтаксис PHP 7.)

// Setup and run LDAP Search 
$dn = "cn=groups,o=my_company,c=CH"; // Location of groups in directory 
$attributes = ['members']; 
$filter = sprintf("(groupName=%s)", $group_name); 

$search = ldap_search($conn, $dn, $filter, $attributes); 
$results = ldap_get_entries($conn, $search); 

// Function to call on each member 
$member_func = function($uid) 
{ 
    // This is a helper that will get the user data and return an appropriate object (or string). 
    // Implementation is left as an exercise to the user 
    return get_user_details($uid); 
}; 

// Need to filter LDAP results for actual values only 
$member_data = array_map($member_func, array_filter($results['members'], function($k) { return is_numeric($k); }, ARRAY_FILTER_USE_KEY)); 
+0

В строке есть синтаксическая ошибка с '$ attributes = ....' – Damon

+0

Вы имеете в виду квадратные скобки '[]'? Этот синтаксис был введен в PHP 5.4. Во всяком случае, это никогда не предназначалось для копирования и вставки, как общий план. – yakatz

Смежные вопросы