Gestion d'authentification
This commit is contained in:
84
src/main/java/com/test/bdd/SalarieMysql.java
Normal file
84
src/main/java/com/test/bdd/SalarieMysql.java
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package com.test.bdd;
|
||||||
|
|
||||||
|
import com.test.beans.Salarie;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author steve.maingana
|
||||||
|
*/
|
||||||
|
public class SalarieMysql {
|
||||||
|
// private Connection laConnexion;
|
||||||
|
private Statement stmt = null;
|
||||||
|
private ResultSet result = null;
|
||||||
|
|
||||||
|
// public ClientMysql() {
|
||||||
|
Connection laConnexion = Connexion.getConnect("192.168.100.100", "bdclient", "adminBDClient", "mdpBDClient");
|
||||||
|
// }
|
||||||
|
|
||||||
|
public ArrayList<Salarie> readAll() {
|
||||||
|
ArrayList<Salarie> salaries = new ArrayList<Salarie>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
stmt = laConnexion.createStatement();
|
||||||
|
|
||||||
|
result = stmt.executeQuery("SELECT * FROM salarie");
|
||||||
|
while (result.next()) {
|
||||||
|
Salarie salarie = new Salarie(
|
||||||
|
result.getInt("id"),
|
||||||
|
result.getString("login"),
|
||||||
|
result.getString("mdp"),
|
||||||
|
result.getInt("admin")
|
||||||
|
);
|
||||||
|
|
||||||
|
salaries.add(salarie);
|
||||||
|
}
|
||||||
|
|
||||||
|
result.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.out.println("SQLException : " + ex.getMessage());
|
||||||
|
System.out.println("SQLState : " + ex.getSQLState());
|
||||||
|
System.out.println("Code erreur : " + ex.getErrorCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
return salaries;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Salarie lireSalarie(String login, String mdp) {
|
||||||
|
Salarie salarie = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
PreparedStatement preparedStmt = laConnexion.prepareStatement("SELECT * FROM salarie WHERE login = ? AND mdp = ?");
|
||||||
|
|
||||||
|
preparedStmt.setString(1, login);
|
||||||
|
preparedStmt.setString(2, mdp);
|
||||||
|
|
||||||
|
result = preparedStmt.executeQuery();
|
||||||
|
if (result.next()) {
|
||||||
|
salarie = new Salarie(
|
||||||
|
result.getInt("id"),
|
||||||
|
result.getString("login"),
|
||||||
|
result.getString("mdp"),
|
||||||
|
result.getInt("admin")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.out.println("SQLException : " + ex.getMessage());
|
||||||
|
System.out.println("SQLState : " + ex.getSQLState());
|
||||||
|
System.out.println("Code erreur : " + ex.getErrorCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
return salarie;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
55
src/main/java/com/test/beans/Salarie.java
Normal file
55
src/main/java/com/test/beans/Salarie.java
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package com.test.beans;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author steve.maingana
|
||||||
|
*/
|
||||||
|
public class Salarie {
|
||||||
|
private int id;
|
||||||
|
private String login;
|
||||||
|
private String mdp;
|
||||||
|
private boolean admin;
|
||||||
|
|
||||||
|
public Salarie(int id, String login, String mdp, int admin) {
|
||||||
|
this.id = id;
|
||||||
|
this.login = login;
|
||||||
|
this.mdp = mdp;
|
||||||
|
this.admin = admin > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLogin() {
|
||||||
|
return login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogin(String login) {
|
||||||
|
this.login = login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMdp() {
|
||||||
|
return mdp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMdp(String mdp) {
|
||||||
|
this.mdp = mdp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAdmin() {
|
||||||
|
return admin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAdmin(boolean admin) {
|
||||||
|
this.admin = admin;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.test.forms;
|
package com.test.forms;
|
||||||
|
|
||||||
|
import com.test.bdd.SalarieMysql;
|
||||||
|
import com.test.beans.Salarie;
|
||||||
import com.test.beans.User;
|
import com.test.beans.User;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
@@ -24,10 +26,27 @@ public class AuthentifForm {
|
|||||||
this.resultat = resultat;
|
this.resultat = resultat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean existeUser(HttpServletRequest request) {
|
||||||
|
SalarieMysql salarieDB = new SalarieMysql();
|
||||||
|
String pseudo = (String) request.getParameter("pseudo");
|
||||||
|
String mdp = (String) request.getParameter("mdp");
|
||||||
|
Salarie user = salarieDB.lireSalarie(pseudo, mdp);
|
||||||
|
|
||||||
|
boolean existe = user != null;
|
||||||
|
|
||||||
|
if (!existe) {
|
||||||
|
this.setResultat("Il y a une erreur dans le nom d'utilisateur ou le mot de passe");
|
||||||
|
}
|
||||||
|
|
||||||
|
return existe;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean controlerAdmin(HttpServletRequest request) {
|
public boolean controlerAdmin(HttpServletRequest request) {
|
||||||
User admin = new User("Lovelace", "Ada");
|
SalarieMysql salarieDB = new SalarieMysql();
|
||||||
User userSaisi = new User(request.getParameter("pseudo"), request.getParameter("mdp"));
|
String pseudo = (String) request.getParameter("pseudo");
|
||||||
boolean estAdmin = admin.equals(userSaisi);
|
String mdp = (String) request.getParameter("mdp");
|
||||||
|
Salarie user = salarieDB.lireSalarie(pseudo, mdp);
|
||||||
|
boolean estAdmin = user.isAdmin();
|
||||||
|
|
||||||
if (estAdmin) {
|
if (estAdmin) {
|
||||||
this.setResultat("Vous êtes administrateur");
|
this.setResultat("Vous êtes administrateur");
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import jakarta.servlet.annotation.WebServlet;
|
|||||||
import jakarta.servlet.http.HttpServlet;
|
import jakarta.servlet.http.HttpServlet;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.servlet.http.HttpSession;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -78,21 +79,21 @@ public class AuthentifServlet extends HttpServlet {
|
|||||||
@Override
|
@Override
|
||||||
protected void doPost(HttpServletRequest request, HttpServletResponse response)
|
protected void doPost(HttpServletRequest request, HttpServletResponse response)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
HttpSession maSession = request.getSession();
|
||||||
String pseudo = (String) request.getParameter("pseudo");
|
String pseudo = (String) request.getParameter("pseudo");
|
||||||
String mdp = (String) request.getParameter("mdp");
|
String mdp = (String) request.getParameter("mdp");
|
||||||
if (!pseudo.isBlank() && !mdp.isBlank()) {
|
|
||||||
if (pseudo.equals(this.monPseudo) && mdp.equals(this.monMdp)) {
|
|
||||||
request.setAttribute("login", true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AuthentifForm authentification = new AuthentifForm();
|
AuthentifForm authentification = new AuthentifForm();
|
||||||
|
maSession.setAttribute("isAuthentified", false);
|
||||||
|
|
||||||
|
if (!pseudo.isBlank() && !mdp.isBlank()) {
|
||||||
|
if (authentification.existeUser(request)) {
|
||||||
boolean isAdmin = authentification.controlerAdmin(request);
|
boolean isAdmin = authentification.controlerAdmin(request);
|
||||||
|
request.setAttribute("admin", isAdmin);
|
||||||
|
maSession.setAttribute("isAuthentified", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
request.setAttribute("authentification", authentification);
|
request.setAttribute("authentification", authentification);
|
||||||
request.setAttribute("admin", isAdmin);
|
|
||||||
|
|
||||||
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/accueilVue.jsp");
|
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/accueilVue.jsp");
|
||||||
dispatcher.forward(request, response);
|
dispatcher.forward(request, response);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import jakarta.servlet.annotation.WebServlet;
|
|||||||
import jakarta.servlet.http.HttpServlet;
|
import jakarta.servlet.http.HttpServlet;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.servlet.http.HttpSession;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -62,6 +63,12 @@ public class ListeServlet extends HttpServlet {
|
|||||||
@Override
|
@Override
|
||||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
HttpSession maSession = request.getSession();
|
||||||
|
boolean isAuthentified = (maSession.getAttribute("isAuthentified") != null) ? (boolean) maSession.getAttribute("isAuthentified") : false;
|
||||||
|
if (!isAuthentified) {
|
||||||
|
response.sendRedirect("/Test2Jakarta/Accueil");
|
||||||
|
return;
|
||||||
|
}
|
||||||
ClientMysql clientDB = new ClientMysql();
|
ClientMysql clientDB = new ClientMysql();
|
||||||
ArrayList<Client> clients = clientDB.readAll();
|
ArrayList<Client> clients = clientDB.readAll();
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import jakarta.servlet.annotation.WebServlet;
|
|||||||
import jakarta.servlet.http.HttpServlet;
|
import jakarta.servlet.http.HttpServlet;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.servlet.http.HttpSession;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -61,6 +63,13 @@ public class NouveauServlet extends HttpServlet {
|
|||||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
// processRequest(request, response);
|
// processRequest(request, response);
|
||||||
|
HttpSession maSession = request.getSession();
|
||||||
|
boolean isAuthentified = (maSession.getAttribute("isAuthentified") != null) ? (boolean) maSession.getAttribute("isAuthentified") : false;
|
||||||
|
if (!isAuthentified) {
|
||||||
|
response.sendRedirect("/Test2Jakarta/Accueil");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
request.setAttribute("new_client", false);
|
request.setAttribute("new_client", false);
|
||||||
getServletContext().getRequestDispatcher("/WEB-INF/nouveauClientVue.jsp").forward(request, response);
|
getServletContext().getRequestDispatcher("/WEB-INF/nouveauClientVue.jsp").forward(request, response);
|
||||||
}
|
}
|
||||||
@@ -80,7 +89,16 @@ public class NouveauServlet extends HttpServlet {
|
|||||||
NouveauClientForm nouveauClient = new NouveauClientForm();
|
NouveauClientForm nouveauClient = new NouveauClientForm();
|
||||||
int idClient = nouveauClient.verifierClient(request);
|
int idClient = nouveauClient.verifierClient(request);
|
||||||
request.setAttribute("new_client", idClient > -1);
|
request.setAttribute("new_client", idClient > -1);
|
||||||
|
|
||||||
if (idClient > -1) {
|
if (idClient > -1) {
|
||||||
|
HttpSession maSession = request.getSession();
|
||||||
|
ArrayList<Integer> lesNouveauxClients = (ArrayList<Integer>) maSession.getAttribute("lesNvxClients");
|
||||||
|
if (lesNouveauxClients == null) {
|
||||||
|
lesNouveauxClients = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
lesNouveauxClients.add(idClient);
|
||||||
|
maSession.setAttribute("lesNvxClients", lesNouveauxClients);
|
||||||
response.sendRedirect("/Test2Jakarta/ListeClients");
|
response.sendRedirect("/Test2Jakarta/ListeClients");
|
||||||
} else {
|
} else {
|
||||||
getServletContext().getRequestDispatcher("/WEB-INF/nouveauClientVue.jsp").forward(request, response);
|
getServletContext().getRequestDispatcher("/WEB-INF/nouveauClientVue.jsp").forward(request, response);
|
||||||
|
|||||||
@@ -13,21 +13,21 @@
|
|||||||
<%@include file="jspf/menu.jspf" %>
|
<%@include file="jspf/menu.jspf" %>
|
||||||
<h1>Gestion de clients</h1>
|
<h1>Gestion de clients</h1>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${!login}"><%@ include file="jspf/login.jspf" %></c:when>
|
<c:when test="${!sessionScope.isAuthentified}"><%@ include file="jspf/login.jspf" %></c:when>
|
||||||
<c:when test="${login}">
|
<c:when test="${sessionScope.isAuthentified}">
|
||||||
<p>Bienvenue ${param.pseudo} !</p>
|
<p>Bienvenue ${param.pseudo} !</p>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${!login}">
|
<c:when test="${!sessionScope.isAuthentified}">
|
||||||
<p>${authentification.getResultat()}</p>
|
<p>${authentification.getResultat()}</p>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${login}">
|
<c:when test="${sessionScope.isAuthentified}">
|
||||||
<p>${authentification.getResultat()}</p>
|
<p>${authentification.getResultat()}</p>
|
||||||
</c:when>
|
</c:when>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</c:when>
|
</c:when>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
<p>
|
<p>
|
||||||
${login}
|
${sessionScope.isAuthentified}
|
||||||
</p>
|
</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -29,5 +29,9 @@
|
|||||||
<p>Le client No. ${id_client} a été créé avec succès !</p>
|
<p>Le client No. ${id_client} a été créé avec succès !</p>
|
||||||
</c:when>
|
</c:when>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
<article>
|
||||||
|
<h3>Liste des numéros des clients récemment créés :</h3>
|
||||||
|
<c:forEach items="${sessionScope.lesNvxClients}" var="unClient"> ${unClient} -</c:forEach>
|
||||||
|
</article>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user