Compare commits

...

2 Commits

Author SHA1 Message Date
thomas.millot
239a3b33e7 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:22:06 +02:00
thomas.millot
10c95e08ef Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:15:48 +02:00
10 changed files with 145 additions and 130 deletions

View File

@ -1,51 +1,56 @@
package bdd; package bdd;
/* /*
Connexion.java Connexion.java
Classe permettant d'établir une connexion avec une base de données mySQL Classe permettant d'établir une connexion avec une base de données mySQL
*/ */
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
public class Connexion { public class Connexion {
private static Connection connect; // Variable de connexion private static Connection connect; // Variable de connexion
/** /**
* Constructeur * Constructeur
* @param serveur nom du serveur, localhost si local *
* @param bdd nom de la base de données * @param serveur nom du serveur, localhost si local
* @param nomUtil nom utilisateur * @param bdd nom de la base de données
* @param mdp mot de passe lié à l'utilisateur * @param nomUtil nom utilisateur
*/ * @param mdp mot de passe lié à l'utilisateur
private Connexion(String serveur, String bdd, String nomUtil, String mdp) { */
try { private Connexion(String serveur, String bdd, String nomUtil, String mdp) {
// 1. Chargement du driver try {
//Class.forName("com.mysql.jdbc.Driver"); // 1. Chargement du driver
Class.forName("com.mysql.cj.jdbc.Driver"); //Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver accessible"); Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Driver accessible");
// 2. Initialisation des paramètres de connexion // 2. Initialisation des paramètres de connexion
String host = serveur; // Serveur de bd String host = serveur; // Serveur de bd
String dbname = bdd; // Nom bd String dbname = bdd; // Nom bd
String url = "jdbc:mysql://" + host + "/" + dbname; // url de connexion String url = "jdbc:mysql://" + host + "/" + dbname; // url de connexion
//url += "?autoReconnect=true"; // Ajout 26/09/2021 //url += "?autoReconnect=true"; // Ajout 26/09/2021
System.out.println("url : "+url); System.out.println("url : " + url);
String user = nomUtil; // nom du user String user = nomUtil; // nom du user
System.out.println("nomUtil : "+nomUtil); System.out.println("nomUtil : " + nomUtil);
String passwd = mdp; // mot de passe String passwd = mdp; // mot de passe
System.out.println("mdp : "+mdp); System.out.println("mdp : " + mdp);
// 3. Connexion // 3. Connexion
connect = (Connection) DriverManager.getConnection(url, user, passwd); connect = (Connection) DriverManager.getConnection(url, user, passwd);
System.out.println("Connexion réussie !"); System.out.println("Connexion réussie !");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
}
} }
}
/** /**
* Retourne la connection établie (Création d'une connection si elle n'existe pas) * Retourne la connection établie (Création d'une connection si elle
* @param serveur nom du serveur, localhost si local * n'existe pas)
*
* @param serveur nom du serveur, localhost si local
* @param bdd nom de la base de données * @param bdd nom de la base de données
* @param nomUtil nom utilisateur * @param nomUtil nom utilisateur
* @param mdp mot de passe lié à l'utilisateur * @param mdp mot de passe lié à l'utilisateur

View File

@ -23,8 +23,7 @@ public class PompierMysql {
private Connection theConnection; private Connection theConnection;
private Pompier unPompier; private Pompier unPompier;
public PompierMysql() public PompierMysql() {
{
theConnection = Connexion.getConnect("localhost", "sdis29", "admin", "minda"); theConnection = Connexion.getConnect("localhost", "sdis29", "admin", "minda");
} }
@ -68,8 +67,9 @@ public class PompierMysql {
} }
/** /**
* Creation du client passé en paramètre dans la table client * Creation du client passé en paramètre dans la table client Requête non
* Requête non préparée * préparée
*
* @param c objet de type Client (sans identifiant) * @param c objet de type Client (sans identifiant)
* @return int : id du client créé * @return int : id du client créé
*/ */
@ -78,22 +78,22 @@ public class PompierMysql {
try { try {
Statement stmt = theConnection.createStatement(); Statement stmt = theConnection.createStatement();
int status = stmt.executeUpdate( int status = stmt.executeUpdate(
"INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) " "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES ('" + p.getNom() + "', '" + "VALUES ('" + p.getNom() + "', '"
+ p.getPrenom() + "', '" + p.getPrenom() + "', '"
+ p.getStatut() + "', " + p.getStatut() + "', "
+ p.getMail() + ", '" + p.getMail() + ", '"
+ p.getLogin() + "', '" + p.getLogin() + "', '"
+ p.getMdp() + "', '" + p.getMdp() + "', '"
+ p.getAdresse() + "', '" + p.getAdresse() + "', '"
+ p.getVille()+ "', '" + p.getVille() + "', '"
+ p.getBip()+ "', '" + p.getBip() + "', '"
+ p.getNbGardes()+ "', '" + p.getNbGardes() + "', '"
+ p.getGrade()+ "', '" + p.getGrade() + "', '"
+ p.getCommentaire()+ "', '" + p.getCommentaire() + "', '"
+ p.getDateEnreg()+ "', '" + p.getDateEnreg() + "', '"
+ p.getDateModif() + "');", + p.getDateModif() + "');",
Statement.RETURN_GENERATED_KEYS); Statement.RETURN_GENERATED_KEYS);
// Recherche de l'identifiant du client créé // Recherche de l'identifiant du client créé
if (status > 0) { if (status > 0) {
@ -111,8 +111,9 @@ public class PompierMysql {
} }
/** /**
* Creation du client passé en paramètre dans la table client * Creation du client passé en paramètre dans la table client Requête
* Requête préparée * préparée
*
* @param c objet de type Client (sans identifiant) * @param c objet de type Client (sans identifiant)
* @return int : id du client créé * @return int : id du client créé
*/ */
@ -120,8 +121,8 @@ public class PompierMysql {
int id = -1; int id = -1;
try { try {
PreparedStatement stmt = null; PreparedStatement stmt = null;
String sql = "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) " String sql = "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
stmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); stmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, p.getNom()); stmt.setString(1, p.getNom());
stmt.setString(2, p.getPrenom()); stmt.setString(2, p.getPrenom());
@ -140,7 +141,6 @@ public class PompierMysql {
System.out.println("Requête : " + stmt.toString()); System.out.println("Requête : " + stmt.toString());
int status = stmt.executeUpdate(); int status = stmt.executeUpdate();
// Recherche de l'identifiant du client créé // Recherche de l'identifiant du client créé
if (status > 0) { if (status > 0) {
ResultSet result = stmt.getGeneratedKeys(); ResultSet result = stmt.getGeneratedKeys();

View File

@ -12,6 +12,7 @@ import java.util.Objects;
* @author thomas.millot * @author thomas.millot
*/ */
public class Pompier { public class Pompier {
private int id; private int id;
private int idCaserne; private int idCaserne;
private String nom; private String nom;
@ -302,5 +303,4 @@ public class Pompier {
return "Pompier{" + "id=" + id + ", idCaserne=" + idCaserne + ", nom=" + nom + ", prenom=" + prenom + ", Statut=" + Statut + ", typePers=" + typePers + ", mail=" + mail + ", login=" + login + ", mdp=" + mdp + ", adresse=" + adresse + ", cp=" + cp + ", ville=" + ville + ", bip=" + bip + ", nbGardes=" + nbGardes + ", grade=" + grade + ", commentaire=" + commentaire + ", dateEnreg=" + dateEnreg + ", dateModif=" + dateModif + '}'; return "Pompier{" + "id=" + id + ", idCaserne=" + idCaserne + ", nom=" + nom + ", prenom=" + prenom + ", Statut=" + Statut + ", typePers=" + typePers + ", mail=" + mail + ", login=" + login + ", mdp=" + mdp + ", adresse=" + adresse + ", cp=" + cp + ", ville=" + ville + ", bip=" + bip + ", nbGardes=" + nbGardes + ", grade=" + grade + ", commentaire=" + commentaire + ", dateEnreg=" + dateEnreg + ", dateModif=" + dateModif + '}';
} }
} }

View File

@ -6,28 +6,30 @@
package com.test.beans; package com.test.beans;
import java.util.Objects; import java.util.Objects;
/** /**
* *
* @author thomas.millot * @author thomas.millot
*/ */
public class User { public class User {
private String pseudo; private String pseudo;
private String mdp; private String mdp;
public User(String pseudo, String mdp){ public User(String pseudo, String mdp) {
this.pseudo = pseudo; this.pseudo = pseudo;
this.mdp = mdp; this.mdp = mdp;
} }
public String getPseudo(){ public String getPseudo() {
return pseudo; return pseudo;
} }
public String getMdp(){ public String getMdp() {
return mdp; return mdp;
} }
public void setMdp(){ public void setMdp() {
this.mdp = mdp; this.mdp = mdp;
} }

View File

@ -24,12 +24,12 @@ public class AuthentifForm {
this.resultat = resultat; this.resultat = resultat;
} }
public boolean controlerAdmin(HttpServletRequest request){ public boolean controlerAdmin(HttpServletRequest request) {
/* Comparaison entre l'utilisateur admin et un utilisateur créé /* Comparaison entre l'utilisateur admin et un utilisateur créé
avec le pseudo et le mdp saisi */ avec le pseudo et le mdp saisi */
User admin = new User("Lovelace", "Ada"); User admin = new User("Lovelace", "Ada");
User userSaisi = new User( request.getParameter("ztPseudo"), User userSaisi = new User(request.getParameter("ztPseudo"),
request.getParameter("ztMDP")); request.getParameter("ztMDP"));
boolean isAdmin = userSaisi.equals(admin); boolean isAdmin = userSaisi.equals(admin);
// Mise à jour de l'attribut resultat // Mise à jour de l'attribut resultat
@ -39,5 +39,4 @@ public class AuthentifForm {
} }
} }

View File

@ -15,9 +15,9 @@ import javax.xml.bind.DatatypeConverter;
* *
* @author Dominique_2 * @author Dominique_2
*/ */
public abstract class MD5 { public abstract class MD5 {
public static String encode(String uneChaine){ public static String encode(String uneChaine) {
MessageDigest md = null; MessageDigest md = null;
String myHash = null; String myHash = null;
try { try {

View File

@ -5,23 +5,32 @@
--%> --%>
<%@include file="jspf/enteteJSPF.jspf" %> <%@include file="jspf/enteteJSPF.jspf" %>
<div id="contenu"> <div id="contenu">
<h2>Merci de vous identifier pour acceder aux dossiers</h2> <h2>Merci de vous identifier pour acceder aux dossiers</h2>
<form name="frmIdentification" method="POST" action=""> <form name="frmIdentification" method="POST" action="">
<fieldset><legend>Identification utilisateur</legend> <c:choose>
<br /><br /> <c:when test="${empty param.ztPseudo}">
<label for="nom">Nom du compte</label> <fieldset><legend>Identification utilisateur</legend>
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur"> <br /><br />
</p> <label for="nom">Nom du compte</label>
<p> <input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
<label for="mdp">Mot de passe</label> </p>
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe"> <p>
</p><br /><br /> <label for="mdp">Mot de passe</label>
<input type="submit" name="valider" value="Valider"> <input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
<input type="reset" name="annuler" value="Annuler"> </p><br /><br />
</p> <input type="submit" name="valider" value="Valider">
</fieldset> <input type="reset" name="annuler" value="Annuler">
</form> </p>
<br /><br /> </fieldset>
</c:when>
<c:otherwise>
<!-- Si l'utilisateur s'est authentifié,
Affichage du message contenu dans l'objet controlForm de type AuthentifForm -->
<p>${controlForm.getResultat()}</p>
</c:otherwise>
</c:choose>
</form>
<br /><br/>
</div> </div>