Compare commits
6 Commits
47ce48e323
...
a-kawaguch
| Author | SHA1 | Date | |
|---|---|---|---|
| 1520676916 | |||
| 34b2e8c5de | |||
| f5c8bb302c | |||
| 01ffb88358 | |||
| 10f7551bbd | |||
| 229f578d69 |
@@ -1,8 +1,11 @@
|
||||
package com.example.demo.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
@@ -11,7 +14,9 @@ import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
||||
import com.example.demo.entity.AccountEntity;
|
||||
import com.example.demo.entity.Employee;
|
||||
import com.example.demo.form.LoginForm;
|
||||
import com.example.demo.repository.EmployeeRepository;
|
||||
import com.example.demo.service.LoginService;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -21,12 +26,20 @@ import lombok.RequiredArgsConstructor;
|
||||
public class LoginController {
|
||||
|
||||
private final LoginService loginService;
|
||||
@Autowired
|
||||
private EmployeeRepository employeeRepository;
|
||||
|
||||
|
||||
// Boot起動直後にログイン画面に移動する用のメソッド
|
||||
@GetMapping("/")
|
||||
public String index(HttpSession session) {
|
||||
public String index(Model model,HttpSession session) {
|
||||
if (session.getAttribute("loginEmployee") != null) {
|
||||
return "redirect:/topmenu";
|
||||
if(session.getAttribute("EmployeeId") != null) {
|
||||
|
||||
List<Employee> emrp = employeeRepository.findByEmployeeId((Integer)session.getAttribute("EmployeeId") );
|
||||
model.addAttribute("LoginName",emrp.getFirst().getEmployeeName());
|
||||
}
|
||||
return "topmenu";
|
||||
}
|
||||
return "redirect:/login";
|
||||
}
|
||||
@@ -34,7 +47,12 @@ public class LoginController {
|
||||
@GetMapping("/login")
|
||||
public String loginForm(Model model, HttpSession session) {
|
||||
if (session.getAttribute("loginEmployee") != null) {
|
||||
return "redirect:/topmenu";
|
||||
if(session.getAttribute("EmployeeId") != null) {
|
||||
|
||||
List<Employee> emrp = employeeRepository.findByEmployeeId((Integer)session.getAttribute("EmployeeId") );
|
||||
model.addAttribute("LoginName",emrp.getFirst().getEmployeeName());
|
||||
}
|
||||
return "topmenu";
|
||||
}
|
||||
|
||||
model.addAttribute("loginForm", new LoginForm());
|
||||
@@ -56,12 +74,18 @@ public class LoginController {
|
||||
AccountEntity accountEntity = loginService.login(loginForm);
|
||||
if (accountEntity == null) {
|
||||
model.addAttribute("loginError",
|
||||
"ログインIDまたはパスワードが正しくありません");
|
||||
"社員IDまたはパスワードが正しくありません");
|
||||
return "login";
|
||||
}
|
||||
|
||||
session.setAttribute("loginEmployee", accountEntity);
|
||||
return "redirect:/topmenu";
|
||||
|
||||
List<Employee> emrp = employeeRepository.findByEmployeeId(accountEntity.getEmployee().getEmployeeId());
|
||||
model.addAttribute("LoginName",emrp.getFirst().getEmployeeName());
|
||||
session.setAttribute("EmployeeId", accountEntity.getEmployee().getEmployeeId());
|
||||
|
||||
|
||||
return "topmenu";
|
||||
}
|
||||
|
||||
// ログアウト処理
|
||||
@@ -73,7 +97,13 @@ public class LoginController {
|
||||
|
||||
// 各画面からトップメニューへの遷移用
|
||||
@GetMapping("/topmenu")
|
||||
public String showTopMenu() {
|
||||
public String showTopMenu(Model model,HttpSession session) {
|
||||
|
||||
if(session.getAttribute("EmployeeId") != null) {
|
||||
|
||||
List<Employee> emrp = employeeRepository.findByEmployeeId((Integer)session.getAttribute("EmployeeId") );
|
||||
model.addAttribute("LoginName",emrp.getFirst().getEmployeeName());
|
||||
}
|
||||
return "topmenu";
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ログイン</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -16,7 +17,7 @@
|
||||
<form th:action="@{/login}" th:object="${loginForm}" method="post">
|
||||
<div class="form-group">
|
||||
<label for="employeeId">社員ID</label>
|
||||
<input id="employeeId" type="text" th:field="*{employeeId}">
|
||||
<input id="employeeId" type="text" th:field="*{employeeId}"pattern="^[0-9]+$"title="数値以外は入力しないでください">
|
||||
<p class="field-error" th:errors="*{employeeId}"></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>トップメニュー</title>
|
||||
@@ -17,7 +17,7 @@
|
||||
<div class="header-right">
|
||||
|
||||
<span class="user">
|
||||
テストユーザー(一般)
|
||||
<h1 th:text="${LoginName}"></h1>
|
||||
</span>
|
||||
|
||||
<a class="button-link" th:href="@{/logout}">
|
||||
@@ -61,15 +61,17 @@
|
||||
<hr>
|
||||
|
||||
<!-- ===== 管理者のみ ===== -->
|
||||
<th th:if="${session.loginEmployee.adminFlag == 1}">
|
||||
|
||||
<a class="card" href="/bookInsert">
|
||||
<a class="card" href="/bookInsert">
|
||||
|
||||
<h3>新規図書登録</h3>
|
||||
<h3>新規図書登録</h3>
|
||||
|
||||
<p>
|
||||
図書の登録申請を<br> 行います。
|
||||
</p>
|
||||
</a>
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
@@ -95,6 +97,7 @@
|
||||
</a>
|
||||
|
||||
<hr>
|
||||
</th>
|
||||
|
||||
<a class="card" href="/passwordChange">
|
||||
<h3>パスワード変更</h3>
|
||||
@@ -103,7 +106,12 @@
|
||||
初期パスワードを<br> 変更します。
|
||||
</p>
|
||||
</a>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
<script>
|
||||
var admin =getElementByID
|
||||
</script>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user