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

ASP.NET Discussion :

Active Directory ET AspNet


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Active Directory ET AspNet
    Bonjour à tous ...

    sur l'intranet que je développe pour mon entreprise je travaille avec Active Directory, j'ai cette fonction qui me permet de tester l'existence d'un objet à partir de son chemin LDAP dans AD :

    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
     
             /// <summary>
            /// Vérification existence d'un objet avec son chemin LDAP
            /// </summary>
            /// <param name="CheminLDAP"></param>
            /// <returns></returns>
            public bool Existe(string CheminLDAP)
            {
                try
                {
     
                    bool Trouve = false;
                    string CheminComplet = "LDAP://" + Domaine + ":389/" + CheminLDAP;
     
                    if ((CheminLDAP != "Aucun") && (CheminLDAP != ""))
                    {
                        if (DirectoryEntry.Exists(CheminComplet))
                        {
                            Trouve = true;
                        }
                    }
                    return Trouve;
                }
                catch (System.DirectoryServices.DirectoryServicesCOMException Erreur)
                {
                    Journalisation("Erreur ActiveDIrectory", Erreur.ToString(), 0);
                    throw Erreur;
                }
            }
    elle fonctionne bien quand je suis en débogage sur mon poste de développement ..mais quand je suis sur mon serveur elle se plante avec le message d'erreur suivant :

    System.DirectoryServices.DirectoryServicesCOMException (0x80072020): Une erreur d'opération s'est produite.
    Je crois comprendre ceci :


    Sur mon poste de développement je suis avec mon profil utilisateur , je fais partie du groupe administrateur, cela marche car j'ai les droits sur AD

    Quand j'utilise ma fonction sur le serveur je suis avec le user IIS IURS qui lui n'a pas les droits ...et boum ...j'ai cette erreur..


    Je ne sais pas si c'est la bonne explication ... A votre avis ?

    Si oui il faudrait que j'execute cette fonction avec un utilisateur qui a les droits mais comment faire ? je ne trouve pas comment spécifier l'utilisateur et son mot de passe à utiliser ...

    Quelqu'un peut t'il me donner une piste ?

    En tout cas merci d'avance ....

    Patrick

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    JE ne sais pas si ça va t'aider, mais j'avais résolu un problème similaire sur un accès à une source ODBC en rajoutant la ligne <identity impersonate="true" /> dans la partie <system.web> du web.config du site.

  3. #3
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Solution ....
    J'ai trouvé ç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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
      /// <summary>
            /// Vérification existence d'un objet avec son chemin LDAP
            /// </summary>
            /// <param name="CheminLDAP"></param>
            /// <returns></returns>
            public bool Existe(string CheminLDAP)
            {
                try
                {
     
                    bool Trouve = false;
     
     
                    if ((CheminLDAP != "Aucun") && (CheminLDAP != ""))
                    {
                        string CheminComplet = "LDAP://" + Domaine + ":389/" + CheminLDAP;
                        DirectoryEntry Objet = new DirectoryEntry(CheminComplet, LogAdministrateur, MdpAdministrateur);                                        
     
                            try
                            {
                                var tmp = Objet.Guid;
                                Trouve = true;
                            }
                            catch (System.DirectoryServices.DirectoryServicesCOMException Erreur)
                            {
     
                            }                 
                    }
                    return Trouve;
                }
                catch (System.DirectoryServices.DirectoryServicesCOMException Erreur)
                {
                    Journalisation("Erreur ActiveDIrectory", Erreur.ToString(), 0);
                    throw Erreur;
                }
            }
    Votre avis ?

    Patrick

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Oui, tu peux aussi utiliser le login et mot de passe de l'admin pour ouvrir la connexion, à condition de pouvoir le stocker de manière sécurisé pour pas que quelques curieux le découvre


    Par contre, essaye de donner des noms explicites à tes variables. objet n'est pas un nom très judicieux.

  5. #5
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Merci
    Merci pour les infos ...Ma solution a l'air de fonctionner ..

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

Discussions similaires

  1. [C#] Active directory LDAP
    Par Gauden dans le forum Windows Forms
    Réponses: 9
    Dernier message: 02/05/2005, 13h57
  2. Package permettant d'interroger l'active directory
    Par gracouille dans le forum Modules
    Réponses: 5
    Dernier message: 18/08/2004, 10h59
  3. [AD]Mise en place de Active Directory
    Par guiguisi dans le forum Windows Serveur
    Réponses: 9
    Dernier message: 29/07/2004, 08h50
  4. Réponses: 4
    Dernier message: 17/05/2004, 09h57
  5. Active directory
    Par m.schar dans le forum Développement
    Réponses: 5
    Dernier message: 22/03/2004, 10h30

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