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

C# Discussion :

interface pour authentification


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut interface pour authentification
    Bonjour,
    je veux créer une fenêtre d'authentification pour mon application,j'ai cherché sur internet j'ai pas trouvé de solution,j'aimerais que avant d’accéder à mon interface une fenêtre apparait demandant à l'utilisateur de saisir son login +mot de passe.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    Salut,

    Ou et comment vont être gérés les différents login et mots de passe associés ? Dans une base de données ?

    A priori pour une telle fenêtre, il te faut juste réaliser une Form qui dispose de 2 champs de saisie (login, mdp), d'un bouton Valider et d'un bouton Annuler.

    Lorsque ton utilisateur saisie ses identifiants et clique sur Valider, tu va vérifier si ces identifiants sont corrects et tu autorise la poursuite, sinon tu reste sur ta fenêtre.

    Penses à crypter les informations (mdp au minimum).

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Oui l'authentification se fera à l'aide d'une base de données.J'ai déja créer un formulaire avec des onglets et la je veux créer l'interface d'authentification,si le login+mot de passe sont correctes mon interface devra me rediriger vers mon formulaire et c'est la ou je bloque.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    Tu ne peut pas appeler ton formulaire d'authentification juste avant de charger ton formulaire de travail (il faudrait en savoir plus sur ton architecture pour être plus précis) ?

    Dans ton formulaire d'authentification, une fois que l'utilisateur à saisie ses identifiants puis cliqué sur valider, tu récupères le login puis tu exécutes une requête du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select mdp, niveau from MaTable where login=xxxxx
    qui te permet de récupérer le mot de passe (crypté) et éventuellement un niveau de droits d'utilisation de ton application.

    Ensuite, tu récupères le mot de passe saisie dans ton formulaire, tu le crypte avec la même règle que celui qui est enregistré dans la base et tu les compares. Si ils sont identiques, tu indiques DialogResult à Ok sinon tu met DialogResult à None pour rester sur ton formulaire (éventuellement tu affiche un message d'erreur pour indiquer à l'utilisateur que le mot de passe ou le login ne correspondent pas).

    Ensuite, avant le chargement du formulaire que tu souhaite controler, tu fait appel à ton formulaire d'authentification et tu vérifie le code retour (si Ok, alors tu poursuit l'affichage, sinon tu sors).


  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Merci pour ta réponse.

    J'ai pensé à générer ma fenêtre dans le form load,or je ne peux pas le faire car dans mon load form j'appel des valeurs(valeurs stocké dans ma base de données) qui s'affiche lors du chargement sur mon formulaire. Donc du coup je ne sais pas comment faire si le log+pssw sont bon vers mon formulaire.Sachant que j'ai créer une deuxième forms(winform 2) pour le login et password

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Une idée????
    Voila j'ai un Forms2 que j'ai créer sur le quel je test mon log et mot de passe.ça marche bien or je bloque sur cette étape:
    qu'on le login et le mot de passe sont correctes,l'utilistaeur doit etre dériger sur mon form1(mon formulaire).

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    bonjour

    Juste une astuce.

    Tu lance ton appli principale en non visible (celle ou tu dois aller si tu est loggé)
    dans le onload de cette fenêtre du demarre un timer.
    Quand le timer a son event, tu l’arrête et tu load ta form de login , du as ici accès au data que tu veux récupéré (plus dans le onload)
    si les login et mdp sont ok tu ferme ta form2 et tu met l’autre a visible sinon tu quitte.

    Codialement

  8. #8
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par kensem Voir le message
    Une idée????
    Voila j'ai un Forms2 que j'ai créer sur le quel je test mon log et mot de passe.ça marche bien or je bloque sur cette étape:
    qu'on le login et le mot de passe sont correctes,l'utilistaeur doit etre dériger sur mon form1(mon formulaire).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    form1 f = new form1();
    f.show();

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Voici le code que j'ai utiliser pour accéder au formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     try
                {
                    if (String.IsNullOrEmpty(richTextBox1.Text) && String.IsNullOrEmpty(richTextBox2.Text)) { MessageBox.Show("chapms vides"); }
                    else
                    {
                        Form2 f2 = new Form2();
                        f2.Close();
                        Form1 f = new Form1();
                         f.ShowDialog();
     
                    }
     
                }
    Je ne sais pas si c'est vraiment le bonne méthode!!
    j'ai un petit souci avec ce code,c'est Form2 ne se ferme pas.

  10. #10
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Voici mon code exacte,il me reste à crypter le mot de passe.
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     string strRequete = "SELECT [login],[pssw] From utilisateur where login=@i ";
     
                       SqlConnection oConnection = new SqlConnection(strConnexion);//La connectivité à SQLServer est assuré grace à SQLconnection
                       SqlCommand oCommand = new SqlCommand(strRequete, oConnection);//Executer les requêtes
                       oCommand.Parameters.Add("@i", SqlDbType.VarChar);
                       oCommand.Parameters["@i"].Value = richTextBox1.Text;
     
     
                       oConnection.Open();
                       SqlDataReader oReader = oCommand.ExecuteReader();
     
                       if (oReader.Read() == false)
                           MessageBox.Show("Votre login est incorrecte");
                       else
                       {
                           oReader.Close();
                           oReader = oCommand.ExecuteReader();
                           while (oReader.Read())
                           {
                               string r = oReader.GetValue(0).ToString();
                               string p = oReader.GetValue(1).ToString();
     
                               if (richTextBox2.Text == p & richTextBox1.Text == r)
                               {
                                   Form1 f = new Form1();
                                   f.Show();
                                   Application.Run(f);
                                   Form2 ff = new Form2();
                                   ff.Close();
                                   Application.Exit();
                               }
                               else
                               {
                                   if (richTextBox2.Text != p)
                                       MessageBox.Show("votre mot de passe est incorrecte");
     
     
     
                               }
                           }
                       }
     
     
                       oReader.Close();
     
     
                   }
                    }
     
     
                catch (Exception ex) { MessageBox.Show(ex.Message); }
     
        }}
    }
    Mais je trouve que ma méthode pour l’accès à mon formulaire(form1) n'est pas une bonne solution,car quand mon mot de passe et login sont bons,mon formulaire doit s'affiche sur mon écran et la fenêtre d’authentification doit disparaître,ce qui n'est pas le cas avec mon code.
    Une autre idée?

  11. #11
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    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
    strRequete = "SELECT [login],[pssw] From utilisateur where login=@i and pssw = @j"; // sinon il suffit de connaitre le login de quelqu'un pour se connecter a sa place :mouarf:
     
                       SqlConnection oConnection = new SqlConnection(strConnexion);//La connectivité à SQLServer est assuré grace à SQLconnection
                       SqlCommand oCommand = new SqlCommand(strRequete, oConnection);//Executer les requêtes
                       oCommand.Parameters.Add("@i", SqlDbType.VarChar);
                       oCommand.Parameters["@i"].Value = richTextBox1.Text;
                      //tu ajoutes pour le @j
                      
                       oConnection.Open();
                       SqlDataReader oReader = oCommand.ExecuteReader();
                       bool OK = false;
                       if (oReader.Read() )
                           OK = true;
                     oReader.Close();
    if(!OK)
    MessageBox.Show("Votre login et/ou mot de passe est incorrect!");
    else
    {
    form1 f = new form1();
    f.Show();
    this.Close();
    }

  12. #12
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Merci pour ta réponse,
    mais avec ton code les deux fenêtres se ferme.
    je pense c'est parce que le thread de la fenêtre d'authentification et le même utiliser pour mon formulaire.je ne sais pas trop quoi faire?

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 279
    Points
    279
    Par défaut
    le close va te fermer la fenêtre et donc ses enfants aussi.
    tu devrais utiliser la propriété Visible :
    par contre, je te conseillerai plutôt de faire ça proprement en ouvrant par exemple ta fenêtre qui demande login/password dans le Program.cs avant même de lancer ta seconde fenêtre par exemple.

  14. #14
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par demonia Voir le message
    ....en ouvrant par exemple ta fenêtre qui demande login/password dans le Program.cs avant même de lancer ta seconde fenêtre par exemple.
    +1

  15. #15
    Membre du Club
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 51
    Points : 40
    Points
    40
    Par défaut
    Bonjour, je veux faire une interface d'authentification pareille mais je veux que le login et le mot de passe seront crées en dur ( statique) Login: X Mot de passe Y sinon ça passe pas pour mon interface principale Form1.merci

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

Discussions similaires

  1. Une interface pour Oracle ?
    Par Vangel dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 25/02/2005, 18h58
  2. interface pour bdd
    Par toto14 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 08/10/2004, 12h12
  3. Interface pour Tablette Graphique
    Par marzizou dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/06/2004, 12h44
  4. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 14h02
  5. interfaces pour Filtres DirectShow
    Par Chupakabra dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2003, 15h54

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