Comment s'authentifié sous java

Résolu/Fermé
tyger2014 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 28 septembre 2014 - Modifié par KX le 24/08/2014 à 17:58
dmayou Messages postés 4 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 24 octobre 2014 - 20 oct. 2014 à 10:52
bonsoir,
s'il vous plait je besoin d'aide
je crée une petite application avec netbeans, dans cette application l'utilisateur devra saisir son login et son password pour accéder à la suite.
mon problème est le suivant :
j'ai créer l'interface de connexion avec netbeans, j'ai aussi créer la base de données mais quand saisie le login et le mot de passe il me renvoi "mot de passe incorrect !" je ne sais pas ce qui ce passe.
svp quelqu'un peut m'aider help

l'image de l'interface


voici mon code :

 String login = JTLogin.getText();
        String mdp = JPMdp.getPassword().toString();
        
        maConnexion.ObtenirConnexion();
        con = maConnexion.ObtenirConnexion();
        
       try
       {
           //création de la requete
           statement = con.prepareStatement("SELECT password FROM users WHERE login ='"+login+"' ");
           resultat = statement.executeQuery();
           
           if(resultat.next())
           {
               String motDePass = resultat.getString(1);
               if(motDePass.equals(mdp))
               {
                   JOptionPane.showMessageDialog(null, "Connexion reussie !", "SUCCESS", JOptionPane.PLAIN_MESSAGE);
                    RessourcesHumaine rh = new RessourcesHumaine();
                    rh.setVisible(true);
           }
           else
           {
               JOptionPane.showMessageDialog(null, "Mot de passe incorect !","Erreur",(1));
           }
           }
           else
           {
               JOptionPane.showMessageDialog(null, "Login incorrect !","Erreur",(1));
           }
            
           //Recuperation de la requete dans la variable
           resultat = statement.executeQuery();
           
          // con.close();
       }
       catch(SQLException e)
               {
                   System.out.println(e.getMessage());
               }
A voir également:

5 réponses

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 24/08/2014 à 18:09
Bonjour,

Le problème c'est que
JPMdp.getPassword().toString()
ne fait pas ce que tu penses, car getPassword est un tableau ! Affiches
mdp
pour voir...

Tu devrais plutôt faire
String mdp = new String(JPMdp.getPassword());


"SELECT password FROM users WHERE login ='"+login+"'"
Attention, c'est très dangereux ça !
Étudies ce qu'il se passerait si je mettais ceci comme login :
'; DROP TABLE users; --


Pour éviter ce genre de problème il faut faire
"SELECT password FROM users WHERE login = ?"
puis
statement.setString(1, login);
.

Remarque : normalement on ne stockes jamais les mots de passes en dur dans une base de données...
La confiance n'exclut pas le contrôle
1
tyger2014 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 28 septembre 2014
25 août 2014 à 08:37
ok merci je vais revoir mon code
0
tyger2014 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 28 septembre 2014
25 août 2014 à 09:04
sa ne marche toujours pas sa me renvoie toujours "mot de passe incorrect !"
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
25 août 2014 à 18:44
Pour voir ce qu'il se passe il faudrait savoir quelles sont les deux valeurs qui sont comparées.
Affiches donc
mdp
, récupéré du formulaire, et
motDePass
, récupéré de la base de données.
0
tyger2014 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 28 septembre 2014
25 sept. 2014 à 11:36
Bonjour excusez moi pour le silence après plusieurs jours de recherche je trouver comment s'authentifier et sa passe bien.
voici mon code:


String sql ="SELECT * FROM users WHERE username=? and mdp=?";
try
{
pstmt = con.prepareStatement(sql);
pstmt.setString(1, jtUser.getText());
pstmt.setString(2, jtMpd.getText());

Rs = pstmt.executeQuery();
if(Rs.next())
{
JOptionPane.showMessageDialog(null, "Authentification reussit");
RessourcesH mdp = new RessourcesH();
mdp.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null, "Authentification échoué");
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dmayou Messages postés 4 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 24 octobre 2014
20 oct. 2014 à 10:52
Bonjour comment vas tu? Tu peux m'envoyer le code complet pour faire la connexion car j'ai le même problème que toi et j'essais ton exemple et sa ne marche pas merci
0