Authentification avec java

Résolu/Fermé
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 - 6 juil. 2012 à 12:02
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 - 19 juil. 2012 à 09:50
Bonjour,



je développe une application d'authentification avec java. j'ai déja crée l 'interface graphique nécessaire. mais pour que ça soit fonctionnel, il faut faire des tests et des comparaison dans une base de données SQL.

j'ai fait cette même application avant avec des flux java (fileReader, inputstream...). mais cette fois il faut que je la fasse avec une vraie base de donnée et non pas avec des fichiers texte.

quelqu'un aurait il le code. on m'avait dit qu'il était tout simple. malheureusement c'est ma première expérience BD donc pour moi ca reste compliqué.

merci bien
A voir également:

15 réponses

Kafiristanica Messages postés 263 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 27 août 2012 28
6 juil. 2012 à 12:33
salut,

ne pas oublié d'instancier l'objet authentification

public void actionPerformed(ActionEvent e)
{
	login = field.getText();
	pass = new String(fieldPass.getPassword());
	if (authenticate(login, pass))
	{
		//action a faire si tu es authentifié
	}
}





public class authentification
   {
 
    public authentification
   {}

      public authentificate(String login ,String pass)
      {
         String username = "root";
         String password = "root";
         String url = "jdbc:mysql://localhost/projet";
 
         try
         {
			//connexion base
            Class.forName("com.mysql.jdbc.Driver");
            Connection connexion = DriverManager.getConnection(url,username,password);
            Statement instruction = connexion.createStatement();
            ResultSet resultat = instruction.executeQuery("SELECT * FROM UTILISATEUR");
 
            while(resultat.next())
            {
 
               if ((login.equals(resultat.getString("login"))==0) && (pass.equals(resultat.getString("password"))==0)) )
               { 
 
 
                  return true;
 
 
 
               }
               else{ return false;}
 
            }
         }
            catch (Exception e)
            {
               System.out.println("echec pilote : "+e);
            }
      }
   }



Cordialement kafi
6
julie-f Messages postés 63 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 31 août 2012 10
6 juil. 2012 à 12:23
Bonjour,

Avant toute chose, il me faudrait quelques informations sur ton état d'avancement :

Quel code veux tu ?
- Le code pour créer ta base de donnée SQL et ta table ?
- Le code pour te connecter à ta base de donnée existante (dans ce cas préciser le type de base de donnée utilisée ainsi que ta table).

Question bonus :
- As tu déjà installé ton serveur de base de donnée (lequel ?)

Cordialement.
2
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
6 juil. 2012 à 13:09
oui merci pour ce code
j'ai juste une question: public authentificate(String login ,String pass) est une methode ou bien un constrcteur ? parce que vous 'avez pas sité le type de retour et ca bloque a cause de ca
1
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
6 juil. 2012 à 12:35
rebonjour,
je veux le code qui me permet de verifier a partir de données stockée dans la base si le login et le mot de passe saisis sont correctes et ce a partir de mon interface graphique que j'ai crée avec netbeans. elle comporte:

- un champs text pour le login
- un champs password
- un bouton pour la connexion

donc en gros je veux , si possible, le code qui me permet de creer la table, et effectuer une recherche dedans.

(j'ai installé un environnement mysql)

merci
0

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

Posez votre question
julie-f Messages postés 63 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 31 août 2012 10
6 juil. 2012 à 12:57
Requête SQL pour créer ta table :<code>CREATE TABLE utilisateur
(login varchar(32) NOT NULL,
password varchar(32),
PRIMARY KEY (login))<cd>

Ensuite côté java le code de kafiristanica devrait être OK.
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
6 juil. 2012 à 13:03
et cette requête sql je la tape ou
0
Kafiristanica Messages postés 263 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 27 août 2012 28
6 juil. 2012 à 13:04
je sais pas si tu as vu mon message ?
0
Kafiristanica Messages postés 263 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 27 août 2012 28
6 juil. 2012 à 13:53
Ha oui pardon !!!

c'est une methode qui retourne un boolean

cela permet de rentrer dans la condition de l'actionperformed du bouton de connection.

cordialement
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
6 juil. 2012 à 14:28
merci votre aide
je ferme ce sujet

cordialement
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
6 juil. 2012 à 15:37
j'ai de nouveau un probleme avec le code de kafiristanica
c'est le driver jdbc.

j'ai une execption de type class not found exception.

merci de bien vouloir m'éclairer
0
julie-f Messages postés 63 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 31 août 2012 10
6 juil. 2012 à 17:05
Re,

Ne sachant pas quelle class n'est pas trouvée, je suppose que s'en est une en lien avec jdbc.

il faut que tu télécharge la bibliothèque jdbc pour MySQL https://dev.mysql.com/downloads/connector/j/

Tu met le .jar dans le classpath de ton projet.
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
9 juil. 2012 à 12:03
bonjour,
j'aimerrai que quelqu'un m'explique comment ajouter le driver JDBC sous netbeans ca fait deux jours que j'essaie de le faire et je n'y arrive pas. du cout ca m'empeche d'avancer dans mon projet.
autre question: je ne sais pas ou mettre le nom de ma base de donnée. donc mon url est normalement fausse.

nerci beacoup
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
Modifié par arth le 9/07/2012 à 12:21
L'URL est du type :

connexion = DriverManager.getConnection("jdbc:mysql://host/database","user","password");

Pour Netbeans, il faut télécharger le JDBC Connector, puis l'ajouter au projet. Enfin sous Eclipse c'est comme ça mais ça doit être pareil :-)


Le loup, solitaire et mystérieux.
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
9 juil. 2012 à 12:30
je sais mais comment l'ajouter?
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
9 juil. 2012 à 14:20
svp aidez moi c'est urgent!!!!

j'ai une erreure de type : java.sql.SQLException: Access denied for user 'root root'@'localhost' (using password: YES)

voila le code. je sais pas ou réside l'erreur

public boolean authenticate (String login ,String pass)
{
String username = "root";
String password = "rooti";
String url = "jdbc:mysql://localhost:3306/OtpAuthentication";



try{

//connexion base
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connexion = DriverManager.getConnection(url,username,password);
Statement instruction = connexion.createStatement();
ResultSet resultat = instruction.executeQuery("SELECT * FROM utilisateur");

while(resultat.next())
{

if ((login.equals(resultat.getString("login"))) && (pass.equals(resultat.getString("password"))))
{
userExist=true;
//return (aux);
}
else
{
userExist=false;
// return (aux);
}

}

}
catch (Exception e)
{
System.out.println("echec pilote : "+e);
}


return(userExist);
}
0
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
19 juil. 2012 à 09:50
bonjour,

voila mon problème. je développe une application d'authentification forte en java. elle requiert deux éléments:

ce que l'on sait (mot de passe ...)
ce que l'on possède (teléphone, carte a puce....)

pour ce qui est du premier éléments j'ai développé une application java qui réalise cette authentification et qui permet ou pas un accès à un utilisateur

pour ce qui est du dexième éléments je bloque carément. je sais pas comment inégrer cette application sur un téléphone surtout que ce qui me limite c'est que j'ai tout programmé en java

avez des suggestions pour rélialiser cette deuxième condition c'est à dire la partie ce que l'on possède??

merci
0