IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Connexion LDAP : accès à un OU imbriqué ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut Connexion LDAP : accès à un OU imbriqué ?
    Bonjour,

    via ma classe C# je me connecte à mon active directory.
    mais je n'arrive pas à accéder à un OU imbréqué dans un autre OU.
    ex : /Groups/test

    J'accède bien à groups mais je ne parviens pas à accéder juste à test.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     DirectoryEntry Ldap = new DirectoryEntry("LDAP:/nomserveur.home.domaine.fr/OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr", "xx", "xx");
     
    DirectorySearcher searcher = new DirectorySearcher(Ldap);
    searcher.Filter = "(objectClass=user)";
    Si je met juste OU=Groups cela récupère des utilisateurs, mais si je mets OU=test,OU=Groups cela ne récupère rien.

  2. #2
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Salut.

    Tiens, ton sujet m'en rappelle un autre .

    Quand tu dis :
    Si je met juste OU=Groups cela récupère des utilisateurs, mais si je mets OU=test,OU=Groups cela ne récupère rien.
    Les users que tu récupères dans OU=Groups, ils se trouvent directement dans OU=Groups ou dans une sous-branche (autre que test) ? Dans ton OU=test, es-tu certain qu'il y a des entrées qui ont l'objetclass user ? Tu l'auras compris, il faut que tu sois plus précis dans la description de ton problème.

    J'espère que cette fois ci tu répondras afin de permettre à ceux qui ont le même souci que toi de bénéficier de ton retour sur le sujet

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut
    Bonjour, merci de ta réponse, oui je ne retrouvais plus l'ancien sujet et j'étais passé à autre chose depuis.
    J'ai quelques éclaircissements :

    /Groups/
    /Groups/Dynamics/
    /Groups/test/
    /groups/test2/

    Il y a des utilisateurs dans Dynamics, dans test et dans test2.
    Et je viens de me rendre compte qu'avec LDAP:/nomserveur.home.domaine.fr/OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr", "xx", "xx" cela renvoie uniquement les 10 users de Dynamics, et aucun des 500 users de test et test2.
    Comme s'il s'arretait de chercher à la fin de l'OU Dynamics.

  4. #4
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par diabli73 Voir le message
    /Groups/
    /Groups/Dynamics/
    /Groups/test/
    /groups/test2/

    Il y a des utilisateurs dans Dynamics, dans test et dans test2.
    Et je viens de me rendre compte qu'avec LDAP:/nomserveur.home.domaine.fr/OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr", "xx", "xx" cela renvoie uniquement les 10 users de Dynamics, et aucun des 500 users de test et test2.
    Comme s'il s'arretait de chercher à la fin de l'OU Dynamics.
    Oui mais non . À partir du moment où tu positionnes ton rootDN sur OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr, il va chercher à ce niveau et en dessous (si tu as précisé un search scope à subtree), donc il ne va chercher ni dans OU=test2 ni dans OU=Dynamics. Essaie dans un browser LDAP, positionne toi sur l'OU test et tu verras le résultat .

    Il doit y avoir un bout de code que tu ne montres pas ici ou je ne sais quoi qui expliquerait l'embrouille.

  5. #5
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut
    En fait si je mets OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr, il ne renvoie rien.
    Si je mets juste : OU=Groups,DC=home,DC=nomserveur,DC=fr, et bien là il renvoie uniquement ce qui se trouve dans dynamics

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    try
                {
     
    			//Ne renvoie rien
    			DirectoryEntry Ldap = new DirectoryEntry("LDAP:/nomserveur.home.domaine.fr/OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr", "xx", "xx");
     
    			//Renvoie uniquement le contenu de groups/Dynamics :
    			//	DirectoryEntry Ldap = new DirectoryEntry("LDAP:/nomserveur.home.domaine.fr/OU=Groups,DC=home,DC=nomserveur,DC=fr", "xx", "xx");
     
    			DirectorySearcher searcher = new DirectorySearcher(Ldap);
    			searcher.Filter = "(objectClass=user)";
     
                    foreach (SearchResult result in searcher.FindAll())
                    {
                        // On récupère l'entrée trouvée lors de la recherche
                        DirectoryEntry DirEntry = result.GetDirectoryEntry();
     
                        //On peut maintenant afficher les informations désirées
                        Console.WriteLine("Login : " + DirEntry.Properties["SAMAccountName"].Value);
                        Console.WriteLine("Nom : " + DirEntry.Properties["sn"].Value);
                        Console.WriteLine("Prénom : " + DirEntry.Properties["givenName"].Value);
                        Console.WriteLine("Email : " + DirEntry.Properties["mail"].Value);
                        Console.WriteLine("Tél : " + DirEntry.Properties["TelephoneNumber"].Value);
                        Console.WriteLine("Description : " + DirEntry.Properties["description"].Value);
     
                        login = "Login : " + DirEntry.Properties["SAMAccountName"].Value;
                        nom = "Nom : " + DirEntry.Properties["sn"].Value;
     
                        userList.Add(nom);
     
                        size++;
     
                        Console.WriteLine("-------------------");
                    }
                }
                catch (Exception Ex)
                {
                    Console.WriteLine(Ex.Message);
                }
    Autre précision : dans test, mes users sont placés dans des Security Group - Gobal (quand je les ai créé j'ai juste fait new group), alors que dans Dynamics les users sont placés directement dedans et également dans un OU.
    Le problème vient certainement du Security Group. Il doit falloir rajouter une option dans mon code.

  6. #6
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par diabli73 Voir le message
    En fait si je mets OU=test,OU=Groups,DC=home,DC=nomserveur,DC=fr, il ne renvoie rien.
    Si je mets juste : OU=Groups,DC=home,DC=nomserveur,DC=fr, et bien là il renvoie uniquement ce qui se trouve dans dynamics
    Donc le comportement correspond bien à ce que je t'expliquais plus haut : tu n'as des entrées qui ont un objectclass "user" que dans ton OU Dynamics, et pas ailleurs en dessous de l'OU Groups.
    Citation Envoyé par diabli73 Voir le message
    Autre précision : dans test, mes users sont placés dans des Security Group - Gobal (quand je les ai créé j'ai juste fait new group), alors que dans Dynamics les users sont placés directement dedans et également dans un OU.
    Le problème vient certainement du Security Group. Il doit falloir rajouter une option dans mon code.
    Euh là tu te mélanges les pinceaux : le type de groupe n'a rien à voir avec ton problème (surtout que Security Group - Global c'est ce qu'il y a de plus lambda en terme de groupe AD). Effectivement, il y doit y avoir un souci dans ton code d'ajout d'un user à un groupe. Pour ajouter un user à un groupe :

    • si le user n'existe pas, tu le crées dans une branche appropriée (ex. "people", "users" etc.) ;
    • une fois ton user créé, tu ajoutes un attribut "member" à ton groupe dans lequel tu placeras le DN ce ce user.

    D'ailleurs en écrivant j'ai l'impression que tu essaies de requêter des users en tapant dans des groupes . Une fois de plus, pourrais-tu être plus précis sur ce que tu cherches à faire/obtenir ? Merci .

Discussions similaires

  1. Connexion LDAP (active directory)
    Par Mateache dans le forum ASP
    Réponses: 2
    Dernier message: 09/05/2006, 13h33
  2. Ldap - Accès insuffisant pour des modfications
    Par navis84 dans le forum Réseau
    Réponses: 5
    Dernier message: 05/04/2006, 11h33
  3. Tentative de connexion internet:accès interdit
    Par doctorlove dans le forum Réseau
    Réponses: 16
    Dernier message: 05/12/2005, 21h57
  4. connexion Ldap et recupération d'information
    Par lechatmagik dans le forum ASP
    Réponses: 13
    Dernier message: 31/10/2005, 10h44
  5. [LDAP] connexion LDAP
    Par abertaud dans le forum API standards et tierces
    Réponses: 15
    Dernier message: 20/07/2005, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo