Probleme d'authentification [Résolu]

Messages postés
17
Date d'inscription
lundi 26 avril 2010
Dernière intervention
28 août 2012
- 7 févr. 2011 à 00:58 - Dernière réponse :
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Dernière intervention
28 août 2012
- 9 févr. 2011 à 18:02
je developpe une application avec netbeans et là je fais des contrôles pour l'authentification des utilisateurs mais en vain. je crois que j'ai dejà tout essayé, je suis dessus depuis des jours,je vous envoie le code que j'ai écrit et merci de bien vouloir m'aider je vous prie:

String login=null;
String pwd=null;
String fct=null;

if(evt.getSource()==connexion)
{
ConnectDB();
try
{
st=con.createStatement();
}
catch(SQLException e)
{
System.out.println("Impossible de créer de Statement");
}

String log=textLog.getText();
char[] mot=passwd.getPassword();
String mdp=mot.toString();

if(log.equals("")||(mdp.equals("")))
{
//ce label renvoi un message d'erreur
jLabel4.setVisible(true);
}

else
{

try {
ps=con.prepareStatement("select * from utilisateurs where login=? and matricule=? ");

ps.setString(1, log);
ps.setString(2, mdp);
rs=ps.executeQuery();
while(rs.next()){
pwd=rs.getString("matricule");
login=rs.getString("login");
fct=rs.getString("fonction");

if(log.equals(login)&&(pwd.equals(mdp)))
{
if(fct.equals("Administration")){
this.dispose();
new InterfAdminInf().setVisible(true);
}
if(fct.equals("Etudiant")){
this.dispose();
new InterfEtudiant().setVisible(true);
}
}

else{
JOptionPane.showMessageDialog(this,"cet utilisateur n'existe pas","msg d'erreur",JOptionPane.INFORMATION_MESSAGE, null);
}
}
}

catch (SQLException ex) {
Logger.getLogger(ComptUser.class.getName()).log(Level.SEVERE, null, ex);
}
}

try{ st.close();
con.close();
}
catch(Exception e){
System.out.println("erreur fermeture:"+e.getMessage());
}
}
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
5293
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
19 novembre 2018
7 févr. 2011 à 13:30
3
Merci
Salut,

Ce que tu fais pour récupérer le mot de passe est archi faux :
char[] mot=passwd.getPassword(); // ok
String mdp=mot.toString(); // te retourne le hash de ton tableau et en AUCUN cas le tableau au format String


Il faut que tu convertisses le tableau de char en String :
String pwd = new String(mot);
// ou encore 
String pwd = new String(passwd.getPassword());


Petit sample pour comparaison :
public static void main(String[] args) {
  JPasswordField tpf = new JPasswordField();
  tpf.setText("Hey !");

  char [] cpawd = tpf.getPassword();
  System.err.println(cpawd.toString()); // chez moi ça retourne : [C@109fd93
  String pwd = new String(cpawd);
  System.err.println(pwd); // retourne : Hey !
}




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de Twinuts
7 févr. 2011 à 10:32
0
Merci
Bonjour

Sois plus précis, qu'est-ce qui ne marche pas?








TUER : http://tuer.sourceforge.net/tuer.jnlp

yeah! vive java
Commenter la réponse de Utilisateur anonyme
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Dernière intervention
28 août 2012
9 févr. 2011 à 17:49
0
Merci
je te remercie Twinuts pour ta rectification sur mon code, en fait je ne l'avais pas testé, merci bien.
Maintenant je m'adresse à Gouessej qui m'a demandé d'être plus précise. Alors quand l'utilisateur s'authentifie correctement une nouvelle fenêtre s'ouvre après le clic sur le bouton "connexion". C'est cette fenêtre qui ne s'affiche pas et cela voudrait dire qu'il ya une incohérence au niveau du code pour le contrôle des données(mot de passe et login) saisies avec ceux se trouvant dans la base de données. Et donc je ne vois pas où se trouve le problème en question.
Merci pour votre appui
Commenter la réponse de cs_Alizzy
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Dernière intervention
28 août 2012
9 févr. 2011 à 18:02
0
Merci
Désolé du dérangement, je viens de faire ce que m'a proposé Twinuts et ça a résolu tout le problème.
je te remercie Twinuts et aussi à toute l'équipe.
Commenter la réponse de cs_Alizzy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.