From 0bf7852ef9ff98c2102940a205f09799985d0919 Mon Sep 17 00:00:00 2001 From: m-shimizu <26-m-e-stella-tecnica@it-college.jp> Date: Tue, 20 Oct 2026 14:25:38 +0900 Subject: [PATCH] FR-01 --- .../demo/controller/LoginController.java | 103 ++------------ .../demo/controller/MenuController.java | 52 ++++--- .../src/main/resources/templates/login.html | 134 +++--------------- .../src/main/resources/templates/menu.html | 2 +- 4 files changed, 63 insertions(+), 228 deletions(-) diff --git a/book-rent/src/main/java/com/example/demo/controller/LoginController.java b/book-rent/src/main/java/com/example/demo/controller/LoginController.java index 44f2ee2..0423fa5 100644 --- a/book-rent/src/main/java/com/example/demo/controller/LoginController.java +++ b/book-rent/src/main/java/com/example/demo/controller/LoginController.java @@ -1,11 +1,8 @@ package com.example.demo.controller; - -<<<<<<< HEAD -======= - + + import java.util.Optional; ->>>>>>> 81d722be8d9837c5d9bcdfda5182ced23af4c17d import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpSession; @@ -15,102 +12,24 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; -<<<<<<< HEAD -import com.example.demo.common.LoginUser; -import com.example.demo.entity.Employee; -import com.example.demo.repository.EmployeeRepository; - -======= import com.example.demo.common.Const; import com.example.demo.common.LoginUser; import com.example.demo.service.AuthService; - + /** AUTH-01:ログイン/ログアウト(login.html) */ ->>>>>>> 81d722be8d9837c5d9bcdfda5182ced23af4c17d @Controller public class LoginController { private final AuthService authService; - + public LoginController(AuthService authService) { this.authService = authService; } - -<<<<<<< HEAD - private final EmployeeRepository employeeRepository; - - public LoginController(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } - - // ログイン画面表示 - @GetMapping("/") - public String showLogin() { - return "login"; - } - - // ログイン処理 - @PostMapping("/doLogin") - public String doLogin( - @RequestParam(required = false) String mailAddress, - @RequestParam(required = false) String password, - HttpServletRequest request, - Model model) { - - // 入力チェック - if (mailAddress == null || password == null - || mailAddress.isBlank() || password.isBlank() - || mailAddress.length() > 256 - || !mailAddress.matches( - "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$")) { - - model.addAttribute("errorMessage", - "メールアドレスとパスワードを正しく入力してください。"); - return "login"; - } - - // 在籍中の社員を検索 - Employee employee = employeeRepository - .findByMailAddressAndFlgRetirement( - mailAddress.trim(), "0") - .orElse(null); - - // 社員情報・パスワードの確認 - if (employee == null - || !password.equals(employee.getPassword())) { - - model.addAttribute("errorMessage", - "メールアドレスまたはパスワードが正しくありません。"); - return "login"; - } - - // 古いセッションがあれば破棄 - HttpSession oldSession = request.getSession(false); - if (oldSession != null) { - oldSession.invalidate(); - } - - // ログイン情報を新しいセッションに保存 - HttpSession newSession = request.getSession(true); - - LoginUser loginUser = new LoginUser( - employee.getIdEmployee(), - employee.getNmEmployee(), - employee.getKnEmployee(), - employee.getMailAddress(), - employee.getFlgAdmin()); - - newSession.setAttribute("loginUser", loginUser); - - // メニュー画面へ遷移 - return "redirect:/menu"; - } -} -======= + @GetMapping("/") public String root() { return "redirect:/menu"; } - + @GetMapping("/login") public String loginForm(HttpSession session) { if (session.getAttribute(Const.SESSION_LOGIN_USER) != null) { @@ -118,14 +37,14 @@ public class LoginController { } return "login"; } - + @PostMapping("/login") public String login(@RequestParam(defaultValue = "") String mailAddress, @RequestParam(defaultValue = "") String password, HttpServletRequest request, Model model) { String mail = mailAddress.trim(); model.addAttribute("mailAddress", mail); // 入力値を保持(パスワードは保持しない) - + if (mail.isEmpty() || password.isEmpty()) { model.addAttribute("errorMessage", "メールアドレスとパスワードを入力してください。"); return "login"; @@ -144,12 +63,10 @@ public class LoginController { request.getSession(true).setAttribute(Const.SESSION_LOGIN_USER, user.get()); return "redirect:/menu"; } - + @PostMapping("/logout") public String logout(HttpSession session) { session.invalidate(); return "redirect:/login"; } -} - ->>>>>>> 81d722be8d9837c5d9bcdfda5182ced23af4c17d +} \ No newline at end of file diff --git a/book-rent/src/main/java/com/example/demo/controller/MenuController.java b/book-rent/src/main/java/com/example/demo/controller/MenuController.java index d1c373c..0246994 100644 --- a/book-rent/src/main/java/com/example/demo/controller/MenuController.java +++ b/book-rent/src/main/java/com/example/demo/controller/MenuController.java @@ -1,31 +1,41 @@ package com.example.demo.controller; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpSession; - import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; @Controller public class MenuController { - - // メニュー画面表示 + @GetMapping("/menu") - public String showMenu() { + public String showMenu(Model model) { + + // 仮のログインユーザー名 + model.addAttribute("loginUserName", "テストユーザー"); + + // menu.htmlを表示 return "menu"; } - - // ログアウト処理 - @PostMapping("/logout") - public String logout(HttpServletRequest request) { - - HttpSession session = request.getSession(false); - - if (session != null) { - session.invalidate(); - } - - return "redirect:/login"; - } -} \ No newline at end of file +} +//@Controller +//public class MenuController { +// +// // メニュー画面表示 +// @GetMapping("/menu") +// public String showMenu() { +// return "menu"; +// } +// +// // ログアウト処理 +// @PostMapping("/logout") +// public String logout(HttpServletRequest request) { +// +// HttpSession session = request.getSession(false); +// +// if (session != null) { +// session.invalidate(); +// } +// +// return "redirect:/login"; +// } +//} \ No newline at end of file diff --git a/book-rent/src/main/resources/templates/login.html b/book-rent/src/main/resources/templates/login.html index 236ae1f..26aaa40 100644 --- a/book-rent/src/main/resources/templates/login.html +++ b/book-rent/src/main/resources/templates/login.html @@ -1,103 +1,12 @@ - +
-<<<<<<< HEAD - - - - - - - - - - -