2010-09-15 2 views
2

У меня возникли проблемы со следующим кодом, который должен проверить, чтобы увидеть, если $ пользователя находится в AlumniDBusers или AlumniDBmanagers групп в ADПроблемы с кодом PHP LDAP, чтобы проверить memberOf определенной группы

Появятся пункты [0] Массив всегда возвращается пробел

Может ли кто-нибудь увидеть, что может быть неправильно?

Благодаря

// Active Directory server 
define('LDAP_HOST','dc1.college.school.edu'); 

// Active Directory DN 
define('LDAP_DN','OU=Alumni Relations,OU=Departments,DC=college,DC=school,DC=edu'); 

// Active Directory user group 
define('LDAP_USER_GROUP','AlumniDBusers'); 

// Active Directory manager group 
define('LDAP_MANAGER_GROUP','AlumniDBmanagers'); 

$ldap = ldap_connect(LDAP_HOST); 

echo "LDAP CONNECTED<br />"; 

if($bind = ldap_bind($ldap, $user, $password)) { 
    echo "PASS BIND<br />"; 

    $filter = "(samAccountName=" . $user . ")"; 
    $attrs = array("memberOf"); 
    $result = ldap_search($ldap, LDAP_DN, $filter, $attrs); 

    $entries = ldap_get_entries($ldap, $result); 

    echo "ENTRY RESULTS: "; 
    print_r($entries[0]['memberOf']); 
    echo "<br />"; 

    // see if member is in user or manager group 
    if (in_array(LDAP_USER_GROUP,$entries[0]['memberOf']) || in_array(LDAP_MANAGER_GROUP,$entries[0]['memberOf'])) 
    { 
    echo "IN GROUP"; 
    ldap_unbind($ldap); 
    } else { 
    echo "NOT IN GROUP"; 
    ldap_unbind($ldap); 
    } 

} else { 
    echo "FAIL BIND"; 
    ldap_unbind($ldap); 
} 
+0

сообщений функции ldap_get_entries ($ $ LDAP, результат); Вероятно, это проблема –

+0

ldap_get_entries() - стандартная функция PHP – samJL

+0

, ваш код только что помог мне решить проблему, спасибо! – Adi

ответ

0

link text PHP руководство

«При добавлении/редактировании атрибутов для пользователя, иметь в виду, что атрибут„memberof“является частным случаем. Атрибут memberOf не является доступный атрибут пользовательской схемы ».

+0

Я не пытаюсь добавлять или редактировать атрибуты пользователя, а только спрашивать, в каких группах он является memberOf. Это возможно, насколько я могу судить по поисковым запросам Google - я пытался получить рабочий код. Вышеприведенный код приведен из следующих статей в Интернете, но с ним что-то не так. – samJL

1

Понял работать, мой DN был неправильно код правильно

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