2009-09-02 5 views
3

Je souhaite qu'un groupe d'utilisateurs (faculté) puisse accéder à une certaine page Web sur mon site Web.Authentification d'utilisateurs d'un groupe donné Répertoire ldap actif

Cette page est uniquement destinée aux professeurs.

Dans Active Directory, nous avons un groupe appelé « faculté »

Voici un extrait de code que je dois authentifier les utilisateurs via ldap/actif, mais je veux que les utilisateurs authenicate qui sont au sein du groupe de professeurs .

$ldap = ldap_connect("ldap.domain.com") 
if($bind = ldap_bind($ldap, $_POST['username'], $_POST['password'])) { 
    // log them in! 
} else { 
    // error message 
} 

Répondre

1

magasins AD la liste des membres sur les groupes, et non les membres du groupe sur les utilisateurs, de sorte que vous devrez récupérer la cn = faculté, ou = tout, dc = Acme, dc = objets com liste des membres, et voir si cet utilisateur est répertorié. S'ils le sont, alors laissez-les essayer et lier, et si cela continue, continuer.

Je testerais l'appartenance au groupe avant de tester la liaison, car une liaison est généralement plus coûteuse qu'une requête.

+0

utiliserait la fonction ldap_search, pour rechercher l'utilisateur dans le groupe spécifié et renvoyer true? – Brad

+1

@geoffc - êtes-vous sûr? Je regarde mon schéma AD et je vois que mon utilisateur a des attributs memberOf, ce sont les groupes dont je suis membre. Je ne suis pas sûr que ce soit un Microsoft-ism, ou si c'est la pratique LDAP standard (essayant de comprendre cela pour le moment). – DougN

+0

Officiellement, le schéma ne le supporte pas, depuis la dernière fois que j'ai regardé. Il peut sembler que c'est là, parfois, si l'outil truque l'arrière-plan en vérifiant le catalogue global ou en interrogeant tous les groupes, cet utilisateur est membre de. Peut-être qu'ils l'ont changé? – geoffc

Questions connexes