From 2cbd0e293aa1f53189fa341a8fac1bc1d074f368 Mon Sep 17 00:00:00 2001
From: Charlie Darques <charlie.darques.etu@univ-lille.fr>
Date: Thu, 13 Mar 2025 12:54:22 +0100
Subject: [PATCH] =?UTF-8?q?correction=20authent=20:=20message=20si=20utili?=
 =?UTF-8?q?sateur=20d=C3=A9j=C3=A0=20connu=20veut=20cr=C3=A9er=20un=20comp?=
 =?UTF-8?q?te?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 WEB-INF/src/controleurs/SignUp.java | 27 ++++++++++++++++-----------
 WEB-INF/src/dao/UserDAO.java        |  7 +++++++
 2 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/WEB-INF/src/controleurs/SignUp.java b/WEB-INF/src/controleurs/SignUp.java
index 8215479..bba2c24 100644
--- a/WEB-INF/src/controleurs/SignUp.java
+++ b/WEB-INF/src/controleurs/SignUp.java
@@ -25,18 +25,23 @@ public class SignUp extends HttpServlet {
 
         }
         else {
-            userdao.createUser(login, pwd);
-            User user = userdao.getUserByLogs(login, pwd);
-
-            if (user != null && userdao.isDatabased(user)){
-                out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>");
-                req.getSession().setAttribute("user", user);
-                req.getSession().setAttribute("login", login);
-                res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
-            }else{
-                out.println("<h1>Partez de chez moi ?!</h1>");
-                userdao.removeUser(user);
+            if (!userdao.userExists(login, pwd)) {
+                userdao.createUser(login, pwd);
+                User user = userdao.getUserByLogs(login, pwd);
+                if (user != null && userdao.isDatabased(user)){
+                    out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>");
+                    req.getSession().setAttribute("user", user);
+                    req.getSession().setAttribute("login", login);
+                    res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
+                }else{
+                    out.println("<h1>Partez de chez moi ?!</h1>");
+                    userdao.removeUser(user);
+                }
+            }
+            else {
+                out.println("<h1>You already own an account. Please login <a href=\"http://localhost:8080/s4a021-web-backend/index.html\">here</a></h1>");
             }
+
         }
     }
 }
diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java
index 4ff0869..20bee1f 100644
--- a/WEB-INF/src/dao/UserDAO.java
+++ b/WEB-INF/src/dao/UserDAO.java
@@ -118,6 +118,13 @@ public class UserDAO {
         return user;
     }
 
+    public boolean userExists(String login, String password) {
+        if (getUserByLogs(login, password) == null) {
+            return false;
+        } 
+        return true;
+    }
+
     public void addUser(User nUser){
         try{
             PreparedStatement stmt = this.con.prepareStatement("INSERT INTO userAccount (username, password) VALUES (?,?)");
-- 
GitLab