C++ et annuaire AD

Signaler
Messages postés
10
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
17 juillet 2008
-
Messages postés
172
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
12 février 2009
-
Bonjour à tous,

Je dois réaliser une appli en C/C++ dans laquelle l'utilisateur doit saisir son login/mdp AD et,  le programme doit vérifier ensuite qu'ils correspondent bien à ceux de l'annuaire (une authentification en fait).
Je dois également tester l'appartenance de l'utilisateur à un groupe.
Malheuresement, mes connaissances sont plutôt limitées et mes recherches n'ont rien donné.
Auriez-vous une idée (surtout pour le 1er point) ? Je seche un peu ...

Merci
Guigui.

1 réponse

Messages postés
172
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
12 février 2009
2
Slt,
    Il faudrait que tu fasse soit if( mdp_predefini == mdp_Entre ) mais dans ce cas le nombre d'utilisateur et leurs mot de passe est prédéfini à l'avance.
 Sinon voici un extrait de code mais les données peuvent-être lu dans le fichier dans le-quel il est stocké (c'est un extrait (très simplifié) d'un code de "mini faut OS" lol que j'ai créé et cette ârtie me sert à l'identification des users (Je mettrais sûrement quand j'aurais le tps de le commenter et de le "nettoyer" sur CS)).

       fichier = NULL;//Initialise
       fichier = fopen("Destination\\NomDuFichier.Extension", "a+");//ouvre
           if (fichier != NULL)//ouverture OK
    {
        fscanf(fichier, "%[^\n]\n", Variable_De_Stockage_du_mdp_ou_user); //%[^\n]\n==>Jusqu'au premier retour à la ligne //récupère le mdp ou l'user contenu dans le fichier
        fclose(fichier);//Ferme le fichier
    }
            if(fichier == NULL)//Erreur d'ouverture
    {
       printf("ERREUR!");
    }
printf("Mot de passe? ");
scanf("%s", Variable_Qui_stocke_le_mdp_ou_luser_Entrer");
if( Variable_De_Stockage_du_mdp_ou_user == Variable_Qui_stocke_le_mdp_ou_luser_Entrer )//Si le mdp ou l'user entré est bon
{
...
}
else
printf("Erreur d'identification");

>tu le fait deux fois de suite :
          -1 pour l'user
          -1 pour le mdp (avec if( Userpredef == user_entre))
Tu peux par exemple pour récupérer plusieur mdp et leur users :

       fichier = NULL;
       fichier = fopen("C:\\PROGRA~1\\BLos\\u4.dll", "a+");
           if (fichier != NULL)
    {
        fscanf(fichier, "%[^\n]\n", u1);//u1 == le nom prédéfini de l'user n°1
        fclose(fichier);
    }
            if(fichier == NULL)
       printf("ERREUR!");

       fichier = NULL;

       fichier = fopen("C:\\PROGRA~1\\BLos\\u4.dll", "a+");

           if (fichier != NULL)

    {

        fscanf(fichier, "%[^\n]\n", u2);//u2 == le nom prédéfini de l'user n°2

        fclose(fichier);

    }

          sleep(20);

       printf(".");

            if(fichier == NULL)

       printf("ERREUR!");...Autant de fois que d'user

>on a récupéré les nom d'user et pareil avec les mots de passe
Cette technique va si il n'y a pas beaucoup d'utilisateur sinon tu devrais pouvoir le faire en nommant des fichiers par le nom de l'user et en comparant le nom entré avec les noms de fichiers contenus dans un dossier précis avec FindFirstFile() et FindNextFile() et si le nom existe, que le programme ouvre le fichier qui le porte et mette le mdp qui y serait préalablement mit, dans une variable et la comparerait avec le mdp que l'user aura entré.

Cordialement, B@stien.//@++
PS: C'est du C, pas ++