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

Visual C++ Discussion :

Vérifier le login et le mot de passe dans l'annuaire ACTIVE DIRECTORY


Sujet :

Visual C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Par défaut Vérifier le login et le mot de passe dans l'annuaire ACTIVE DIRECTORY
    Bonjour,
    Je cherche désespérément un exemple en Visual C++ montrant le contrôle du Login et mot de passe dans Active Directory.
    Je m'explique : j'ai développé une petite application en Visual Studio C++ (2005/2010) et je veux sécuriser cette application par un contrôle de Login et mot de passe. Ce login et mot de passe sont gérés dans l'annuaire Active Directory.
    Avez-vous un bout de code source permettant de réaliser ce contrôle ?
    Je vous remercie d'avance pour votre aide.

    Martin

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    J'ai essayé à une époque, mais ça s'est terminé en me rendant compte que pour vérifier si une paire login/mot de passe était valide, je pouvais simplement tenter de me logguer sur le active directory avec le login et mdp en question, et tenter une requête à laquelle tous les utilisateurs ont accès (genre une lecture de je ne sais plus trop quoi...).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Par défaut
    je vous remercie pour cette précision.
    C'est exactement ce que je cherche, pourriez-vous me communiquer les instructions C++ permettant de réaliser ce test.

    Martin

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Hélas, j'avais fait ça directement en .Net et je ne connais pas du tout les bibliothèques non-managées qui gèrent les connexions LDAP.
    Code C# : 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
    		/// <summary>
    		/// Tries to connect LDAP user to server and tests reading the directory.
    		/// </summary>
    		/// <param name="pUserName">[in] LDAP user login.</param>
    		/// <param name="pPassword">[in] LDAP user password.</param>
    		/// <param name="pLDAPpath">[in] LDAP path.</param>
    		/// <param name="error">[out] Exception caught while trying to access LDAP.</param>
    		/// <returns><c>true</c> if succeeded, <c>false</c> if failed for any reason.</returns>
    		public static bool AuthenticateLDAPUser(string pUserName, string pPassword, string pLDAPpath, out Exception error)
    		{
    			try
    			{
    				DirectoryEntry de = new DirectoryEntry(pLDAPpath, pUserName, pPassword, AuthenticationTypes.ReadonlyServer|AuthenticationTypes.Secure);
    				DirectorySearcher searcher = new DirectorySearcher(de);
     
    				SearchResult result = searcher.FindOne();
     
    				error = null;
    				return (result != null); // if one element is found in the LDAP, the login/password are valid
    			}
    			catch(Exception e)
    			{ error = e; }
    			return false;
    		}
    Sachant que le pLDAPpath est le chemin LDAP de ton AD (chez nous on avait un truc du genre LDAP://domaineDeMaBoite.lan/OU=machin,OU=truc,OU=biduleUsers,DC=domaineDeMaBoite,DC=lan)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Par défaut
    Merci Médinoc,
    Mais ce bout de code en C# ne répond pas à ma demande.
    Je cherche l'équivalent de ce code en Visual C++.

    Martin

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 469
    Par défaut
    Si le C++/CLI est acceptable, c'est presque le même code.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/02/2016, 14h10
  2. Réponses: 2
    Dernier message: 31/05/2012, 13h09
  3. Vérifier un login et un mot de passe sur SQLite
    Par djmahdouch dans le forum Android
    Réponses: 1
    Dernier message: 10/04/2012, 19h49
  4. Vérifier un login et un mot de passe
    Par mademoizel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/03/2007, 01h40
  5. Passage de login mot de passe dans l'URL avec IE6 sp2
    Par SPA dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/10/2005, 08h47

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