2010-09-15 7 views
2

J'ai des problèmes avec le code suivant qui doit vérifier si l'utilisateur $ est en groupes AlumniDBusers ou AlumniDBmanagers dans ADProblème avec le code PHP LDAP pour vérifier memberOf un certain groupe

Les entrées [0] tableau revient toujours blank

Quelqu'un peut-il voir ce qui pourrait ne pas fonctionner?

Merci

// 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

après la ldap_get_entries (ldap de $, $ result); C'est probablement où le problème est –

+0

ldap_get_entries() est une fonction standard de PHP – samJL

+0

votre code m'a juste aidé à résoudre un problème, merci! – Adi

Répondre

0

link text manuel PHP

« Lors de l'ajout/modification d'attributs pour un utilisateur, gardez à l'esprit que l'attribut « memberOf » est un cas particulier. L'attribut memberOf est pas un attribut accessible du schéma utilisateur. "

+0

Je n'essaie pas d'ajouter ou de modifier les attributs d'un utilisateur, seulement interroger les groupes auxquels il appartient. C'est possible autant que je peux dire à partir de recherches Google - j'ai essayé d'obtenir le code de travail. Le code ci-dessus provient des articles suivants en ligne, mais quelque chose doit être faux avec – samJL

1

eu à travailler, mon DN était mauvais code est juste

Questions connexes