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

Linq Discussion :

[LinQ to LDAP] Comment accéder à DirectroyObject ?


Sujet :

Linq

  1. #1
    Ziki_s
    Invité(e)
    Par défaut [LinQ to LDAP] Comment accéder à DirectroyObject ?
    Salut les gars,

    Je suis actuellement étudiant technicien ES en informatique en dernière année, et je fais actuellement mon travail de spécialisation.

    Le sujet de ce travail porte sur la découverte de LinQ et il m'est demandé de créer un cours sur LinQ pour les futurs étudiants.

    Un des points consiste à accéder à LDAP avec LinQ et afficher la liste des élèves triés par ordre alphabétique. Et c'est justement là que je galère.

    J'ai réussi à récupérer cette liste, mais par code C# "standard":
    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
     
    DirectoryEntry ldap = new DirectoryEntry("LDAP://ldap.www.ch:xxx/ou=yyy,dc=zzz,dc=www,dc=ch", "login", "pass");
     
    DirectorySearcher searcher = new DirectorySearcher(ldap);
    searcher.Filter = "(objectClass=user)";
    searcher.FindAll();
    searcher.PropertiesToLoad.Add("cn");
    searcher.PropertiesToLoad.Add("initials");
     
    SearchResultCollection results = searcher.FindAll();
    lbResult.Items.Add(results.Count);
    DirectoryEntry DirEntry = new DirectoryEntry();
     
    foreach (SearchResult rs in results)
    {
        DirEntry = rs.GetDirectoryEntry();
        try
        {
            lblResult.Items.Add(DirEntry.Properties["givenName"].Value.ToString() + " " + DirEntry.Properties["cn"].Value.ToString());
        }
        catch{}
    }
    Comme je l'ai dit auparavant, je dois accéder à cette liste via LinQ, donc le code posté au dessus ne me convient pas. J'ai donc trouvé une solution (enfin je crois) sur bartdesmet.net. Mais le seul problème c'est que je ne vois nulle part comment accéder à DirectoryObject, j'ai beau chercher sur le net et sur le site de MSDN, je ne trouve pas la solution.

    Quelqu'un a une idée sur le sujet?

    Ziki

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Regarde la lib sur CodePlex

    http://www.codeplex.com/LINQtoAD

    Oublie pas que du coup il faut plus utiliser les classes de SystemDirectories

    Y'a un bout de code en exemple, regarde

    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
       // NOTE: Entity type definition "User" omitted in sample - see samples in release.
     
        var users = new DirectorySource<User>(ROOT, SearchScope.Subtree);
        users.Log = Console.Out;
     
        var res = from usr in users
                  where usr.FirstName.StartsWith("B") && usr.Office == "2525"
                  select new { Name = usr.FirstName + " " + usr.LastName, usr.Office, usr.LogonCount };
     
        foreach (var u in res)
        {
            Console.WriteLine(u);
            u.Office = "5252";
            u.SetPassword(pwd);
        }
     
        users.Update();

  3. #3
    Ziki_s
    Invité(e)
    Par défaut
    Muah parfait !

    J'ai téléchargé la solution et j'ai remarqué qu'il s'agit, à peu près, de la solution du projet de bartdesmet.net

    Bon, me reste plus qu'a garder les lignes dont j'ai réellement besoin et supprimer les autres .

    En tout cas, merci Skyounet !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment accéder à un annuaire LDAP à partir de Delphi ?
    Par plante20100 dans le forum API, COM et SDKs
    Réponses: 25
    Dernier message: 28/07/2005, 13h45
  2. [Webforms][JS] Comment accéder à un UserControl
    Par maxo dans le forum Général Dotnet
    Réponses: 29
    Dernier message: 13/07/2005, 12h22
  3. Réponses: 4
    Dernier message: 24/03/2005, 19h20
  4. Réponses: 2
    Dernier message: 05/01/2005, 14h36
  5. Réponses: 9
    Dernier message: 03/12/2004, 11h35

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