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

Développement Web avec .NET Discussion :

Afficher des donnés issues d'Active Directory [c#]


Sujet :

Développement Web avec .NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Afficher des donnés issues d'Active Directory [c#]
    Bonjour, afin de récupérer des informations sur un utilisateur pour les insérer dans une base de données SQL Server, j'ai suivis un tuto que l'on retrouve sur ce site, mais je n'arrive pas à effectuer l'étape d'affichage de donnée.

    En effet lorsque j’appuie sur mon bouton et que j'écris un nom dans mon champ, je veux pouvoir récupérer le login de cette personne mais une erreur arrive:

    La référence d'objet n'est pas définie à une instance d'un objet.
    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
            protected void btnConnectAD_Click(object sender, EventArgs e)
            {
                //On se connecte à l'annuaire
                DirectoryEntry Ldap = new DirectoryEntry("LDAP://---", "---", "---");
     
                DirectorySearcher search = new DirectorySearcher(Ldap);
                search.SearchRoot = Ldap;
     
                //On modifie le filtre de recherche pour ne rechercher que des users avec le nom entré dans la txtBox
                search.Filter = "(&(objectClass=user) (SAMAccountName=" + txtBoxNameAD.Text + "))";
     
                SearchResult result = search.FindOne();
     
                //On récupère le user
                DirectoryEntry DirEntry = result.GetDirectoryEntry();
     
                //DirEntry.Properties["userLog"].Value.ToString();
     
                lblConnectAD.Text = (DirEntry.Properties["SAMAccountName"].ToString());
     
                Response.Redirect("GestionPersonnel.aspx");
            }
    J'ai regarder plusieurs cas ayant la même erreur mais je n'ai pas trouvé de solution.
    Je vous remercie.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    J'ai modifié mon code, en remplacant le FindOne par un foreach de findAll, j'ai plus d'erreur mais rien ne s'affiche dans mon label.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach (SearchResult result in search.FindAll())
                {
                    DirectoryEntry DirEntry = result.GetDirectoryEntry();
                    lblConnectAD.Text = (DirEntry.Properties["SAMAccountName"].ToString());
                }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Bonjour,

    Il aurait fallu nous dire la ligne dans ton code qui posait problème.

    Maintenant a toi de t’arrêter dans ton code pour voir ce que ta liste contient.

  4. #4
    Membre régulier Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Points : 78
    Points
    78
    Par défaut
    Essaye-ça

    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
    SearchResultCollection all= searcher.FindAll();
    string sAMAccountName;
     
                foreach (SearchResult one in all)
                {
                    DirectoryEntry entry = one.GetDirectoryEntry();
     
     
                     sAMAccountName= "";
     
                    try
                    {
     
                        if (entry.Properties["sAMAccountName"] != null)
                            sAMAccountName= entry.Properties["sAMAccountName"][0].ToString();
                    }
                catch
                    {
                       ///
                    }
    }

Discussions similaires

  1. [LDAP] Paramètres de connexion à Active Directory
    Par line86 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/07/2008, 12h13
  2. Réponses: 2
    Dernier message: 05/03/2008, 09h29
  3. [JNDI] Connexion Active Directory
    Par le Daoud dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 05/06/2006, 10h08
  4. [C#] Connexion Active Directory
    Par lordkoko dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/02/2006, 17h04
  5. [VBA-E] Connexion Active Directory
    Par david522 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2005, 13h49

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