Compare commits
21 Commits
239a3b33e7
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
0d1d4385f9 | ||
|
30e988a406 | ||
|
ad2a770dc8 | ||
|
3cfc1f99e4 | ||
|
ff03911709 | ||
|
3eafc8b2ee | ||
|
0ec37013ed | ||
|
e27f948c2a | ||
|
1a26976d0a | ||
|
c7df279eab | ||
|
1e8257677c | ||
|
e5fa228860 | ||
|
05e4eb1b4c | ||
|
2d81cde4a8 | ||
|
94db0015ee | ||
|
fa6c0561f6 | ||
|
e58f60e5ec | ||
|
eb07fbaac9 | ||
|
caf65f4bfe | ||
|
cc1a3760ef | ||
|
5ebec6b026 |
BIN
proj/AP31-Projet1.war
Normal file
BIN
proj/AP31-Projet1.war
Normal file
Binary file not shown.
@@ -7,12 +7,17 @@ package bdd;
|
||||
|
||||
import com.mysql.cj.xdevapi.Client;
|
||||
import com.test.beans.Pompier;
|
||||
import com.test.forms.MD5;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -33,7 +38,7 @@ public class PompierMysql {
|
||||
try {
|
||||
Statement stmt = theConnection.createStatement();
|
||||
ResultSet resultQ = null;
|
||||
resultQ = stmt.executeQuery("SELECT * FROM client");
|
||||
resultQ = stmt.executeQuery("SELECT * FROM pompier");
|
||||
while (resultQ.next()) {
|
||||
unPompier = new Pompier(resultQ.getInt("id"),
|
||||
resultQ.getString("nom"),
|
||||
@@ -156,4 +161,26 @@ public class PompierMysql {
|
||||
return id;
|
||||
}
|
||||
|
||||
public boolean readPompier(HttpServletRequest request) {
|
||||
boolean reponse = false;
|
||||
Statement stmt;
|
||||
String userSaisi = request.getParameter("ztPseudo");
|
||||
String mdpSaisi = request.getParameter("ztMDP");
|
||||
String mdpChiffre = MD5.encode(mdpSaisi);
|
||||
System.out.println("userSaisi : "+ userSaisi);
|
||||
System.out.println("mdpSaisi : "+ mdpChiffre);
|
||||
try {
|
||||
System.out.println("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';");
|
||||
stmt = theConnection.createStatement();
|
||||
ResultSet resultQ = null;
|
||||
resultQ = stmt.executeQuery("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';");
|
||||
reponse = resultQ.next();
|
||||
} catch (SQLException ex) {
|
||||
Logger.getLogger(PompierMysql.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
|
||||
return reponse;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
package com.test.forms;
|
||||
|
||||
import bdd.PompierMysql;
|
||||
import com.test.beans.User;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
@@ -24,19 +25,13 @@ public class AuthentifForm {
|
||||
this.resultat = resultat;
|
||||
}
|
||||
|
||||
public boolean controlerAdmin(HttpServletRequest request) {
|
||||
/* Comparaison entre l'utilisateur admin et un utilisateur créé
|
||||
avec le pseudo et le mdp saisi */
|
||||
User admin = new User("Lovelace", "Ada");
|
||||
User userSaisi = new User(request.getParameter("ztPseudo"),
|
||||
request.getParameter("ztMDP"));
|
||||
boolean isAdmin = userSaisi.equals(admin);
|
||||
|
||||
// Mise à jour de l'attribut resultat
|
||||
setResultat(isAdmin ? "Vous êtes administrateur" : "Vous n'êtes pas administrateur");
|
||||
|
||||
return isAdmin;
|
||||
|
||||
public boolean authentifPompier(HttpServletRequest request)
|
||||
{
|
||||
PompierMysql pms = new PompierMysql();
|
||||
boolean reponse = pms.readPompier(request);
|
||||
resultat = reponse ?"": "login ou mot de passe incorrect";
|
||||
request.setAttribute("message", resultat);
|
||||
return reponse;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -5,31 +5,32 @@
|
||||
*/
|
||||
package com.test.forms;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author sio
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javax.xml.bind.DatatypeConverter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dominique_2
|
||||
*/
|
||||
public abstract class MD5 {
|
||||
|
||||
public static String encode(String uneChaine) {
|
||||
MessageDigest md = null;
|
||||
String myHash = null;
|
||||
public abstract class MD5 {
|
||||
|
||||
public static String encode(String uneChaine){
|
||||
MessageDigest md = null;
|
||||
try {
|
||||
md = MessageDigest.getInstance("MD5");
|
||||
} catch (NoSuchAlgorithmException ex) {
|
||||
Logger.getLogger(AuthentifForm.class.getName()).log(Level.SEVERE, null, ex);
|
||||
throw new IllegalArgumentException(ex);
|
||||
}
|
||||
md.update(uneChaine.getBytes());
|
||||
byte[] digest = md.digest();
|
||||
myHash = DatatypeConverter.printHexBinary(digest).toLowerCase();
|
||||
|
||||
return myHash;
|
||||
//myHash = DatatypeConverter.printHexBinary(digest).toLowerCase();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (byte b : digest) {
|
||||
sb.append(String.format("%02x", b));
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
package com.test.servlets;
|
||||
|
||||
import com.test.forms.AuthentifForm;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import jakarta.servlet.ServletException;
|
||||
@@ -71,7 +72,19 @@ public class AuthentifServlet extends HttpServlet {
|
||||
@Override
|
||||
protected void doPost(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
processRequest(request, response);
|
||||
// Création de l'objet leControle de type AuthentifForm
|
||||
AuthentifForm leControle = new AuthentifForm();
|
||||
// Appel de la méthode authentifPompier
|
||||
if(leControle.authentifPompier(request))
|
||||
{
|
||||
getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp")
|
||||
.forward(request, response);
|
||||
}
|
||||
else
|
||||
{
|
||||
getServletContext().getRequestDispatcher("/WEB-INF/AuthentificationJSP.jsp")
|
||||
.forward(request, response);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -30,15 +30,15 @@ public class ProfilServlet extends HttpServlet {
|
||||
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
response.setContentType("text/html;charset=UTF-8");
|
||||
try ( PrintWriter out = response.getWriter()) {
|
||||
/* TODO output your page here. You may use following sample code. */
|
||||
try ( PrintWriter out = response.getWriter())
|
||||
{
|
||||
out.println("<!DOCTYPE html>");
|
||||
out.println("<html>");
|
||||
out.println("<head>");
|
||||
out.println("<title>Servlet ProfilServlet</title>");
|
||||
out.println("<title>Servlet ProfilServlets</title>");
|
||||
out.println("</head>");
|
||||
out.println("<body>");
|
||||
out.println("<h1>Servlet ProfilServlet at " + request.getContextPath() + "</h1>");
|
||||
out.println("<h1>Servlet ProfilServlets at " + request.getContextPath() + "</h1>");
|
||||
out.println("</body>");
|
||||
out.println("</html>");
|
||||
}
|
||||
@@ -71,7 +71,8 @@ public class ProfilServlet extends HttpServlet {
|
||||
@Override
|
||||
protected void doPost(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
processRequest(request, response);
|
||||
getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp")
|
||||
.forward(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1,36 +1,31 @@
|
||||
<%--
|
||||
Document : authentificationJSP
|
||||
Created on : 18 oct. 2021, 11:09:26
|
||||
Author : Chelloug.Eliass
|
||||
Author : Millot.Thomas
|
||||
--%>
|
||||
<%@include file="jspf/enteteJSPF.jspf" %>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@page import="com.test.forms.AuthentifForm" %>
|
||||
|
||||
<!-- Affichage du formulaire si l'utilisateur ne s'est pas encore authentifi<66> -->
|
||||
<div id="contenu">
|
||||
<h2>Merci de vous identifier pour acceder aux dossiers</h2>
|
||||
<form name="frmIdentification" method="POST" action="">
|
||||
<c:choose>
|
||||
<c:when test="${empty param.ztPseudo}">
|
||||
<form name="frmIdentification" method="POST" action="Authentif">
|
||||
<h2>Merci de vous identifier pour acceder aux dossiers</h2>
|
||||
<fieldset><legend>Identification utilisateur</legend>
|
||||
<br /><br />
|
||||
<label for="nom">Nom du compte</label>
|
||||
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
|
||||
<input type="text" name="ztPseudo" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
|
||||
</p>
|
||||
<p>
|
||||
<label for="mdp">Mot de passe</label>
|
||||
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
|
||||
<input type="password" name="ztMDP" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
|
||||
</p><br /><br />
|
||||
<input type="submit" name="valider" value="Valider">
|
||||
<input type="reset" name="annuler" value="Annuler">
|
||||
</p>
|
||||
<p>${message}</p>
|
||||
</fieldset>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<!-- Si l'utilisateur s'est authentifi<66>,
|
||||
Affichage du message contenu dans l'objet controlForm de type AuthentifForm -->
|
||||
|
||||
<p>${controlForm.getResultat()}</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</form>
|
||||
<br /><br/>
|
||||
<br/><br/>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
@@ -1,17 +1,36 @@
|
||||
<%--
|
||||
Document : ModifProfilJSP
|
||||
Created on : 18 oct. 2021, 11:10:01
|
||||
Author : Chelloug.Eliass
|
||||
Author : Millot.thomas
|
||||
--%>
|
||||
|
||||
<%@include file="jspf/enteteJSPF.jspf" %>
|
||||
<%@page contentType="text/html" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>JSP Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Hello World!</h1>
|
||||
</body>
|
||||
<form name="Profil" method="POST" action="ProfilJSP.jsp">
|
||||
<table style='border: 0px solid white;'>
|
||||
<tr>
|
||||
<td style='border :0px;'>
|
||||
<fieldset><legend>Coordonnées Pompier</legend>
|
||||
<table>
|
||||
<tr><th>Nom : </th><td><input type="text" name="ztNom" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Prénom : </th><td><input type="text" name="ztPrenom" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Adresse : </th><td><input type="text" name="ztAdr" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Ville : </th><td><input type="text"name="ztVille" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Code postal : </th><td><input type="text" name="ztCp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Téléphone : </th><td><input type="text" name="ztTel" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Mail : </th><td><input type="text" name="ztMail" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Statut : </th><td><input readonly type="text" name="ztStatut" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Grade : </th><td><input readonly type="text" name="ztGrade" size="20" maxlength="30"></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset><legend>Coordonnées Employeur</legend>
|
||||
<table>
|
||||
<tr><th>Nom employeur : </th><td><input type="text" name="ztNomEmp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Téléphone employeur : </th><td><input type="text" name="ztTelEmp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Adresse employeur : </th><td><input type="text" name="ztadrEmp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Mail employeur : </th><td><input type="text" name="ztMailEmp" size="20" maxlength="30"></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<input type="button" name="button" onclick="window.location='http://localhost:8080/AP31-Projet1/Profil'" value="Valider les modification">
|
||||
</html>
|
||||
|
@@ -1,25 +1,32 @@
|
||||
<%--
|
||||
Document : authentificationJSP
|
||||
Created on : 18 oct. 2021, 11:09:26
|
||||
Author : Chelloug.Eliass
|
||||
--%>
|
||||
<%@include file="jspf/enteteJSPF.jspf" %>
|
||||
<div id="contenu">
|
||||
<h2>Merci de vous identifier pour acceder aux dossiers</h2>
|
||||
<form name="frmIdentification" method="POST" action="Profil">
|
||||
<fieldset><legend>Identification utilisateur</legend>
|
||||
<br /><br />
|
||||
<label for="nom">Nom du compte</label>
|
||||
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
|
||||
</p>
|
||||
<p>
|
||||
<label for="mdp">Mot de passe</label>
|
||||
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
|
||||
</p><br /><br />
|
||||
<input type="submit" name="valider" value="Valider">
|
||||
<input type="reset" name="annuler" value="Annuler">
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
<br /><br />
|
||||
</div>
|
||||
<br /><br />
|
||||
<form name="frmModifProfil" method="POST" action="ModifProfilJSP.jsp">
|
||||
<table style='border: 0px solid white;'>
|
||||
<tr>
|
||||
<td style='border :0px;'>
|
||||
<fieldset><legend>Coordonn<6E>es Pompier</legend>
|
||||
<table>
|
||||
<tr><th>Nom : </th><td><input type="text" name="ztNom" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Pr<50>nom : </th><td><input type="text" name="ztPrenom" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Adresse : </th><td><input type="text" name="ztAdr" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Ville : </th><td><input type="text"name="ztVille" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Code postal : </th><td><input type="text" name="ztCp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>T<>l<EFBFBD>phone : </th><td><input type="text" name="ztTel" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Mail : </th><td><input type="text" name="ztMail" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Statut : </th><td><input readonly type="text" name="ztStatut" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Grade : </th><td><input readonly type="text" name="ztGrade" size="20" maxlength="30"></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset><legend>Coordonn<6E>es Employeur</legend>
|
||||
<table>
|
||||
<tr><th>Nom employeur : </th><td><input type="text" name="ztNomEmp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>T<>l<EFBFBD>phone employeur : </th><td><input type="text" name="ztTelEmp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Adresse employeur : </th><td><input type="text" name="ztadrEmp" size="20" maxlength="30"></td></tr>
|
||||
<tr><th>Mail employeur : </th><td><input type="text" name="ztMailEmp" size="20" maxlength="30"></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<input type="button" name="button" onclick="window.location='http://localhost:8080/AP31-Projet1/Modif'" value="Modification du profil">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
@@ -1,10 +1,13 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
|
||||
<head>
|
||||
<<link rel="stylesheet" href="css/newcss.css"/>
|
||||
<title>SDIS29</title>
|
||||
</head>
|
||||
<div id="page">
|
||||
<div id="entete">
|
||||
<img src="./images/LogoSDIS29.jpg" id="logo" alt="SDIS29" title="SDIS 29" align='left' style="width: 200px; height: 180px" />
|
||||
<!-- fin de l'ent<6E>te -->
|
||||
<img src="./images/LogoSDIS29.jpg" id="logo" alt="SDIS29" title="SDIS 29" align='left' style="width: 200px; height: 180px";
|
||||
}/>
|
||||
<!-- fin de l'ent<6E>te -->
|
||||
|
59
web/css/newcss.css
Normal file
59
web/css/newcss.css
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
To change this license header, choose License Headers in Project Properties.
|
||||
To change this template file, choose Tools | Templates
|
||||
and open the template in the editor.
|
||||
*/
|
||||
/*
|
||||
Created on : 21 oct. 2021, 16:37:16
|
||||
Author : elliass.chelloug
|
||||
*/
|
||||
body
|
||||
{
|
||||
background-color: #596b6e;
|
||||
background-repeat: repeat-x;
|
||||
margin:0% 0%;
|
||||
padding : 0.9em;
|
||||
font-family:"Trebuchet MS",Verdana,Geneva,Arial,Helvetica,sans-serif;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
#contenu
|
||||
{
|
||||
border: none;
|
||||
padding: 2.1em;
|
||||
background-color: white;
|
||||
border-left : groove 0.8em #980101;
|
||||
margin-top : 1.1em;
|
||||
margin-left: 82px;
|
||||
min-height:27em;
|
||||
height:27em;
|
||||
}
|
||||
piedForm
|
||||
{
|
||||
border-bottom-width : 0.1em;
|
||||
border-left-width : 0.1em;
|
||||
border-right-width : 0.1em;
|
||||
border-top-width : 0em;
|
||||
border-style : solid;
|
||||
border-color : #000;
|
||||
text-align:right ;
|
||||
width : 95%;
|
||||
margin-top:0em;
|
||||
}
|
||||
form
|
||||
{
|
||||
margin-bottom:1em;
|
||||
}
|
||||
corpsForm legend
|
||||
{
|
||||
font-weight:bold;
|
||||
font-size:1.2em;
|
||||
}
|
||||
corpsForm label
|
||||
{
|
||||
float: left;
|
||||
text-align:right;
|
||||
width:33%;
|
||||
margin: 0;
|
||||
padding: 0 .5em 0 0;
|
||||
line-height: 1.8;
|
||||
}
|
Reference in New Issue
Block a user