From 7be2a4fa2f26ef9cf01410f1ad988f2bc0cd4eba Mon Sep 17 00:00:00 2001
From: Maxime Gosselin~ <maxime.gosselin.etu@univ-lille.fr>
Date: Thu, 6 Mar 2025 17:33:24 +0100
Subject: [PATCH] =?UTF-8?q?Authent=20g=C3=A8re=20les=20erreurs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 WEB-INF/src/controleur/Authent.java | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/WEB-INF/src/controleur/Authent.java b/WEB-INF/src/controleur/Authent.java
index 6e7a979..b5a68e5 100644
--- a/WEB-INF/src/controleur/Authent.java
+++ b/WEB-INF/src/controleur/Authent.java
@@ -34,18 +34,19 @@ public class Authent extends HttpServlet {
             }
             hashedPassword = sb.toString();
         } catch (NoSuchAlgorithmException e) {
-            throw new RuntimeException(e);
+            req.setAttribute("error", "Problème lors du hashage du mot de passe");
+            req.getRequestDispatcher("/WEB-INF/vue/error.jsp").forward(req, resp);
+            return;
         }
 
         String vue = "WEB-INF/vue/login.jsp";
-        boolean dispatch = true;
 
         switch (action) {
             case "login":
                 if (daoUser.checkUser(username, hashedPassword)) {
-                    dispatch = false;
                     req.getSession().setAttribute("username", username);
                     resp.sendRedirect("navigation?page=accueil");
+                    return;
                 } else {
                     req.setAttribute("error", "Identifiant ou mot de passe incorrect");
                 }
@@ -56,16 +57,19 @@ public class Authent extends HttpServlet {
                 String lastname = req.getParameter("lastname");
                 
                 try {
-                    dispatch = false;
                     daoUser.create(new User(username, hashedPassword, firstname, lastname));
                     req.getSession().setAttribute("username", username);
                     resp.sendRedirect("navigation?page=accueil");
+                    return;
                 } catch (Exception e) {
                     req.setAttribute("error", "Nom d'utilisateur déjà pris");
                     vue = "WEB-INF/vue/signin.jsp";
                 }
                 break;
+            default:
+                req.setAttribute("error", "Ne changez pas l'url vous même!");
+                req.getRequestDispatcher("/WEB-INF/vue/error.jsp");
         }
-        if(dispatch) req.getRequestDispatcher(vue).forward(req, resp); 
+        req.getRequestDispatcher(vue).forward(req, resp);
     }
 }
-- 
GitLab