S'authentifier avant de se connecter - Java - Programmation
MarshPosté le 13-04-2015 à 16:01:16
Bonjour à tous,
Je suis en phase finale de mon application et je me trouves bloquer. Au fait,j'aimerai realiser une page d'authentification des utilisateurs que je crées et accordes les privilèges avec les commandes "CREATE USER" et "GRANT".Par la suite je me rends comptes que les utilisateurs créés sont dans une base autre que celle sur laquelle je travailles;il s'agit de la base "MYSQL qui est propre au SGBD". Donc pour moi,afin de parvenir à mes fins,je dois trouver un moyen pour me connecter à cette base (MYSQL) afin que je puisses vérifier si les identifiants que je saisis dans le formulaire de connexion sont dans la table "USER" sinon j'affiche un message d'erreur.Si vous avez une autre manière de faire merci de me l'expliquer ou si vous avez un lien qui peut répondre à mes besoins merci de me le fournir.
Voici ce que j'ai tenté sans me connecter à la base "MYSQL" c'est-à-dire j'ai maintenu la connexion à la base de mon projet :
Voici le code de la méthode qui selectionne les utilisateurs qui sont dans la table "USER" de la base "MYSQL"
String pass = getValeurSaisie(request,passCons);/*je dois hasher ce mot de passe recuperé depuis mon formulaire en utilisant la fonction "Password" mais je ne sais comment faire*/
resultat = "Erreur!!!Les identifiants que vous avez saisi sont érronés.";/*j'ai toujours cette erreur dans mon formulaire donc ce qui veut dire le "IF" n'est pas exécuté par conséquent y a une erreur.*/
String motDepasse = (String) session.getAttribute(passwordRecup);/*je recupères le mot de passe en version hashée que j'ai placé en session lors de l'exploitation de la requête chargée de determiner si un utilisateur existe ou pas en fonction des identifiants que saisis dans le formulaire*/
if(pass == null || pass.trim().length() == 0){
thrownew ValidationChamp("Ce n'est pas un mot de passe." );
}
elseif(pass != motDepasse)/*Comparaison du mot de passe recupéré depuis la session et celui récuperé depuis le formulaire de connexion*/{
thrownew ValidationChamp("Mot de passe incorrect." );
String uti = (String) session.getAttribute(userRecup);/*je recupères le nom d'utilisateur que j'ai placé en session lors de l'exploitation de la requête chargée de determiner si un utilisateur existe ou pas en fonction des identifiants que saisis dans le formulaire*/
if(utili == null || utili.trim().length() == 0){
thrownew ValidationChamp("Ce n'est pas un nom d'utilisateur." );
}elseif(utili != uti)/*Comparaison du nom d'utilisateur récupéré depuis la session et celui récupéré depuis le formulaire de connexion*/{
thrownew ValidationChamp("Ce nom d'utilisateur n'est pas encore possedé." );
Marsh Posté le 13-04-2015 à 16:01:16
Bonjour à tous,
Je suis en phase finale de mon application et je me trouves bloquer.
Au fait,j'aimerai realiser une page d'authentification des utilisateurs que je crées et accordes les privilèges avec les commandes "CREATE USER"
et "GRANT".Par la suite je me rends comptes que les utilisateurs créés sont dans une base autre que celle sur laquelle je travailles;il s'agit de la base "MYSQL qui est propre au SGBD".
Donc pour moi,afin de parvenir à mes fins,je dois trouver un moyen pour me connecter à cette base (MYSQL) afin que je puisses vérifier si les identifiants que je saisis dans le formulaire de connexion sont dans la table "USER" sinon j'affiche un message d'erreur.Si vous avez une autre manière de faire merci de me l'expliquer ou si vous avez un lien qui peut répondre à mes besoins merci de me le fournir.
Voici ce que j'ai tenté sans me connecter à la base "MYSQL" c'est-à-dire j'ai maintenu la connexion à la base de mon projet :
Voici le code de la méthode qui selectionne les utilisateurs qui sont dans la table "USER" de la base "MYSQL"
Voici le code de l'objet metier :
Voici le code de la servlet :