From d533003f77f8ac77df23f8cf19622fe855264ed5 Mon Sep 17 00:00:00 2001
From: LeJingS <157603342+LeJingS@users.noreply.github.com>
Date: Wed, 11 Dec 2024 11:51:11 +0800
Subject: [PATCH] =?UTF-8?q?2024=E5=B9=B412=E6=9C=8811=E6=97=A511:51:08?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../nginx-1.22.0-tlias/logs/access.log | 40 ++++++++
.../nginx-1.22.0-tlias/logs/error.log | 18 ++++
.../nginx-1.22.0-tlias/logs/nginx.pid | 2 +-
.../tlias-web-management/.idea/modules.xml | 8 ++
.../tlias-web-management/.idea/workspace.xml | 58 ++++++++++-
case/server/tlias-web-management/learn.md | 30 +++++-
case/server/tlias-web-management/pom.xml | 22 +++++
.../TliasWebManagementApplication.java | 2 +
.../lejings/controller/LoginController.java | 40 ++++++++
.../lejings/controller/SessionController.java | 62 ++++++++++++
.../exception/GlobalExceptionHandler.java | 19 ++++
.../top/lejings/filter/LoginCheckFilter.java | 67 +++++++++++++
.../java/top/lejings/mapper/EmpMapper.java | 4 +
.../java/top/lejings/service/EmpService.java | 2 +
.../lejings/service/impl/EmpServiceImpl.java | 5 +
.../main/java/top/lejings/utils/JwtUtils.java | 40 ++++++++
.../TliasWebManagementApplicationTests.java | 44 +++++++++
.../TliasWebManagementApplication.class | Bin 765 -> 831 bytes
.../lejings/controller/LoginController.class | Bin 0 -> 2227 bytes
.../controller/SessionController.class | Bin 0 -> 3589 bytes
.../exception/GlobalExceptionHandler.class | Bin 0 -> 922 bytes
.../top/lejings/filter/LoginCheckFilter.class | Bin 0 -> 3027 bytes
.../top/lejings/mapper/EmpMapper.class | Bin 562 -> 755 bytes
.../top/lejings/service/EmpService.class | Bin 251 -> 333 bytes
.../lejings/service/impl/EmpServiceImpl.class | Bin 1376 -> 1589 bytes
.../classes/top/lejings/utils/JwtUtils.class | Bin 0 -> 2130 bytes
.../TliasWebManagementApplicationTests.class | Bin 0 -> 2476 bytes
.../tlias-web-management.iml | 93 +-----------------
28 files changed, 454 insertions(+), 102 deletions(-)
create mode 100644 case/server/tlias-web-management/.idea/modules.xml
create mode 100644 case/server/tlias-web-management/src/main/java/top/lejings/controller/LoginController.java
create mode 100644 case/server/tlias-web-management/src/main/java/top/lejings/controller/SessionController.java
create mode 100644 case/server/tlias-web-management/src/main/java/top/lejings/exception/GlobalExceptionHandler.java
create mode 100644 case/server/tlias-web-management/src/main/java/top/lejings/filter/LoginCheckFilter.java
create mode 100644 case/server/tlias-web-management/src/main/java/top/lejings/utils/JwtUtils.java
create mode 100644 case/server/tlias-web-management/target/classes/top/lejings/controller/LoginController.class
create mode 100644 case/server/tlias-web-management/target/classes/top/lejings/controller/SessionController.class
create mode 100644 case/server/tlias-web-management/target/classes/top/lejings/exception/GlobalExceptionHandler.class
create mode 100644 case/server/tlias-web-management/target/classes/top/lejings/filter/LoginCheckFilter.class
create mode 100644 case/server/tlias-web-management/target/classes/top/lejings/utils/JwtUtils.class
create mode 100644 case/server/tlias-web-management/target/test-classes/top/lejings/TliasWebManagementApplicationTests.class
diff --git a/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/access.log b/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/access.log
index bd6e7a4..944512e 100644
--- a/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/access.log
+++ b/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/access.log
@@ -347,3 +347,43 @@
127.0.0.1 - - [09/Dec/2024:10:13:15 +0800] "GET /9.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
127.0.0.1 - - [09/Dec/2024:10:13:15 +0800] "GET /10.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
127.0.0.1 - - [09/Dec/2024:10:14:21 +0800] "DELETE /api/emps/ HTTP/1.1" 405 114 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:09:34 +0800] "GET /api/index HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:09:54 +0800] "GET /static/js/chunk-2d217668.863dbcab.js HTTP/1.1" 200 485 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:09:55 +0800] "GET /static/js/chunk-2d212f3a.cf0aafdd.js HTTP/1.1" 200 485 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:10:02 +0800] "GET /api/depts HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:10:02 +0800] "GET /api/depts HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:10:03 +0800] "GET /api/depts HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:10:04 +0800] "GET /api/emps?name=&gender=&begin=&end=&page=1&pageSize=5 HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:10:15 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:10:15 +0800] "GET /api/depts HTTP/1.1" 200 805 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:19:12 +0800] "GET /api/index HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:19:16 +0800] "GET /static/css/chunk-5c99f4bb.f8220e53.css HTTP/1.1" 200 1651 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:19:16 +0800] "GET /static/js/chunk-5c99f4bb.6470b50c.js HTTP/1.1" 200 3005 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:19:20 +0800] "POST /api/login HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:19:31 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:19:33 +0800] "POST /api/login HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:34:19 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:34:20 +0800] "POST /api/login HTTP/1.1" 200 251 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:34:20 +0800] "GET /api/index HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:34:28 +0800] "POST /api/login HTTP/1.1" 200 66 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:38:22 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:38:23 +0800] "POST /api/login HTTP/1.1" 200 251 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:38:23 +0800] "GET /api/index HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:38:26 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [10/Dec/2024:20:38:26 +0800] "GET /api/index HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:09:16:09 +0800] "GET /api/index HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:09:16:26 +0800] "POST /api/login HTTP/1.1" 200 195 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:09:16:26 +0800] "GET /api/index HTTP/1.1" 404 105 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:09:16:35 +0800] "GET /api/login HTTP/1.1" 405 284 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:09:18:24 +0800] "GET /api/depts HTTP/1.1" 200 805 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:55 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:55 +0800] "GET /api/depts HTTP/1.1" 200 805 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /api/depts HTTP/1.1" 200 805 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /api/emps?name=&gender=&begin=&end=&page=1&pageSize=5 HTTP/1.1" 200 1120 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /1.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /2.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /4.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /5.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:10:28:57 +0800] "GET /3.jpg HTTP/1.1" 404 555 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:11:41:15 +0800] "GET /api/depts HTTP/1.1" 200 805 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+127.0.0.1 - - [11/Dec/2024:11:41:24 +0800] "POST /api/depts HTTP/1.1" 200 91 "http://127.0.0.1:90/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
diff --git a/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/error.log b/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/error.log
index e4d37f7..dbec013 100644
--- a/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/error.log
+++ b/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/error.log
@@ -44,3 +44,21 @@
2024/12/09 10:13:15 [error] 9660#11152: *26 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/8.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /8.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
2024/12/09 10:13:15 [error] 9660#11152: *24 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/9.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /9.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
2024/12/09 10:13:15 [error] 9660#11152: *25 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/10.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /10.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:09:32 [error] 25808#12956: *1 connect() failed (10061: No connection could be made because the target machine actively refused it) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/index HTTP/1.1", upstream: "http://[::1]:8080/index", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:09:34 [error] 25808#12956: *1 connect() failed (10061: No connection could be made because the target machine actively refused it) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/index HTTP/1.1", upstream: "http://127.0.0.1:8080/index", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:09:34 [error] 25808#12956: *1 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/50x.html" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /api/index HTTP/1.1", upstream: "http://127.0.0.1:8080/index", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:02 [error] 25808#12956: *1 connect() failed (10061: No connection could be made because the target machine actively refused it) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://127.0.0.1:8080/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:02 [error] 25808#12956: *1 no live upstreams while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://localhost/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:02 [error] 25808#12956: *1 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/50x.html" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://localhost/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:02 [error] 25808#12956: *1 no live upstreams while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://localhost/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:02 [error] 25808#12956: *1 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/50x.html" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://localhost/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:03 [error] 25808#12956: *1 no live upstreams while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://localhost/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:03 [error] 25808#12956: *1 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/50x.html" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /api/depts HTTP/1.1", upstream: "http://localhost/depts", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:04 [error] 25808#12956: *2 connect() failed (10061: No connection could be made because the target machine actively refused it) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/emps?name=&gender=&begin=&end=&page=1&pageSize=5 HTTP/1.1", upstream: "http://[::1]:8080/emps?name=&gender=&begin=&end=&page=1&pageSize=5", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:04 [error] 25808#12956: *2 no live upstreams while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/emps?name=&gender=&begin=&end=&page=1&pageSize=5 HTTP/1.1", upstream: "http://localhost/emps?name=&gender=&begin=&end=&page=1&pageSize=5", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/10 20:10:04 [error] 25808#12956: *2 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/50x.html" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /api/emps?name=&gender=&begin=&end=&page=1&pageSize=5 HTTP/1.1", upstream: "http://localhost/emps?name=&gender=&begin=&end=&page=1&pageSize=5", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/11 10:28:57 [error] 23772#12048: *11 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/1.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /1.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/11 10:28:57 [error] 23772#12048: *12 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/2.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /2.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/11 10:28:57 [error] 23772#12048: *16 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/4.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /4.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/11 10:28:57 [error] 23772#12048: *17 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/5.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /5.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
+2024/12/11 10:28:57 [error] 23772#12048: *18 CreateFile() "C:\Users\LeJingS\Desktop\gitea_repo\java_learn\case\font\nginx-1.22.0-tlias\nginx-1.22.0-tlias/html/3.jpg" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /3.jpg HTTP/1.1", host: "127.0.0.1:90", referrer: "http://127.0.0.1:90/"
diff --git a/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/nginx.pid b/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/nginx.pid
index 6107f52..26b1087 100644
--- a/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/nginx.pid
+++ b/case/font/nginx-1.22.0-tlias/nginx-1.22.0-tlias/logs/nginx.pid
@@ -1 +1 @@
-19452
+11732
diff --git a/case/server/tlias-web-management/.idea/modules.xml b/case/server/tlias-web-management/.idea/modules.xml
new file mode 100644
index 0000000..0388501
--- /dev/null
+++ b/case/server/tlias-web-management/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/case/server/tlias-web-management/.idea/workspace.xml b/case/server/tlias-web-management/.idea/workspace.xml
index 2a6337b..c486dbd 100644
--- a/case/server/tlias-web-management/.idea/workspace.xml
+++ b/case/server/tlias-web-management/.idea/workspace.xml
@@ -8,17 +8,18 @@
-
-
-
+
+
+
-
+
+
@@ -61,6 +62,8 @@
{
"keyToString": {
+ "JUnit.TliasWebManagementApplicationTests.testGenJwt.executor": "Run",
+ "JUnit.TliasWebManagementApplicationTests.testParseJwt.executor": "Run",
"Maven.tlias-web-management [clean].executor": "Run",
"RequestMappingsPanelOrder0": "0",
"RequestMappingsPanelOrder1": "1",
@@ -84,7 +87,44 @@
"vue.rearranger.settings.migration": "true"
}
}
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -92,6 +132,12 @@
+
+
+
+
+
+
@@ -106,6 +152,8 @@
+
+
diff --git a/case/server/tlias-web-management/learn.md b/case/server/tlias-web-management/learn.md
index 04f507a..6b2c431 100644
--- a/case/server/tlias-web-management/learn.md
+++ b/case/server/tlias-web-management/learn.md
@@ -34,27 +34,49 @@
- 客户端会话跟踪技术: Cookie
-http支持,浏览器自动
+优点:http支持,浏览器自动
-移动端App无法使用,不安全用户可以自己禁用。不能跨域
+缺点:移动端App无法使用,不安全用户可以自己禁用。不能跨域(协议、IP、域名和端口)
-- 服务端会话跟踪技术: Session
+- 服务端会话跟踪技术: Session
+优点:基于Cookie,但存在与服务器,安全
+缺点:只能用在单机位服务器。无法使用负载均衡的集群环境下使用。Cookie的缺点
- 令牌技术
+优点:支持所有端,解决集群下的认证问题,减轻服务器存储压力
+
+缺点:需要自己实现
+
+
+
+
+
+### JWT令牌
+
+JSON WEB TOKEN
+
+组成
+
+头,记录令牌类型,签名算法
+
+有效载荷,携带自定义信息
+签名,数字签名
-### JWT
+eg:登录认证
+使用流程:
+1. 引入依赖
diff --git a/case/server/tlias-web-management/pom.xml b/case/server/tlias-web-management/pom.xml
index 1fd8ef9..77baee3 100644
--- a/case/server/tlias-web-management/pom.xml
+++ b/case/server/tlias-web-management/pom.xml
@@ -50,6 +50,28 @@
spring-boot-starter-test
test
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.1
+
+
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.1
+
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.76
+
+
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/TliasWebManagementApplication.java b/case/server/tlias-web-management/src/main/java/top/lejings/TliasWebManagementApplication.java
index c3a0040..b89aebc 100644
--- a/case/server/tlias-web-management/src/main/java/top/lejings/TliasWebManagementApplication.java
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/TliasWebManagementApplication.java
@@ -2,7 +2,9 @@ package top.lejings;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+@ServletComponentScan
@SpringBootApplication
public class TliasWebManagementApplication {
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/controller/LoginController.java b/case/server/tlias-web-management/src/main/java/top/lejings/controller/LoginController.java
new file mode 100644
index 0000000..896df71
--- /dev/null
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/controller/LoginController.java
@@ -0,0 +1,40 @@
+package top.lejings.controller;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import top.lejings.pojo.Emp;
+import top.lejings.pojo.Result;
+import top.lejings.service.EmpService;
+import top.lejings.utils.JwtUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Slf4j
+@RestController
+public class LoginController {
+ @Autowired
+ private EmpService empService;
+
+ @PostMapping("/login")
+ public Result login(@RequestBody Emp emp){
+ log.info("员工登录");
+ Emp e = empService .login(emp);
+
+ //登录成功,生成令牌并下发
+ if(e != null){
+ Map claims = new HashMap<>();
+ claims.put("id", e.getId());
+ claims.put("name", e.getName());
+ claims.put("username", e.getUsername());
+ String jwt = JwtUtils.generateJwt(claims);//包含了当前登录的员工信息
+ return Result.success(jwt);
+ }
+ //登录失败,返回错误信息
+
+ return Result.error("用户名或密码错误");
+ }
+}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/controller/SessionController.java b/case/server/tlias-web-management/src/main/java/top/lejings/controller/SessionController.java
new file mode 100644
index 0000000..f75465c
--- /dev/null
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/controller/SessionController.java
@@ -0,0 +1,62 @@
+package top.lejings.controller;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import top.lejings.pojo.Result;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+@Slf4j
+@RestController
+public class SessionController {
+
+ /*
+ * 设置Cookie
+ * */
+ @GetMapping("/c1")
+ public Result cookie1(HttpServletResponse response){
+ response.addCookie(new Cookie("sessionId","123456789"));
+ return Result.success();
+ }
+
+ /*
+ * 获取Cookie
+ * */
+ @GetMapping("/c2")
+ public Result cookie2(HttpServletRequest request){
+ Cookie[] cookies=request.getCookies();//获取所有的Cookie
+ for (Cookie cookie:cookies){
+ if (cookie.getName().equals("login_username")){
+ System.out.println("cookie的值是:"+cookie.getValue());
+ }
+ }
+ return Result.success();
+ }
+
+ @GetMapping("/s1")
+ public Result session1(HttpSession session){
+ log.info("HttpSession-s1:{}",session.hashCode());
+
+ session.setAttribute("key1","value1");
+ return Result.success();
+
+ }
+
+ @GetMapping("/s2")
+ public Result session2(HttpServletRequest request){
+ HttpSession session=request.getSession();
+ log.info("HttpSession-s2:{}",session.hashCode());
+
+ Object loginUser=session.getAttribute("key1");
+ log.info("session中的值是:"+loginUser);
+ return Result.success();
+ }
+
+
+
+
+}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/exception/GlobalExceptionHandler.java b/case/server/tlias-web-management/src/main/java/top/lejings/exception/GlobalExceptionHandler.java
new file mode 100644
index 0000000..cbb6470
--- /dev/null
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/exception/GlobalExceptionHandler.java
@@ -0,0 +1,19 @@
+package top.lejings.exception;
+
+/*
+*
+* 全局异常处理器
+* */
+
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import top.lejings.pojo.Result;
+
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+ @ExceptionHandler(Exception.class)
+ public Result ex(Exception ex){
+ ex.printStackTrace();
+ return Result.error("服务器异常·················");
+ }
+}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/filter/LoginCheckFilter.java b/case/server/tlias-web-management/src/main/java/top/lejings/filter/LoginCheckFilter.java
new file mode 100644
index 0000000..4c6cfa8
--- /dev/null
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/filter/LoginCheckFilter.java
@@ -0,0 +1,67 @@
+package top.lejings.filter;
+
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.StringUtils;
+import top.lejings.pojo.Result;
+import top.lejings.utils.JwtUtils;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Slf4j
+@WebFilter(urlPatterns = "/*")
+public class LoginCheckFilter implements Filter {
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+ HttpServletRequest req = (HttpServletRequest) request;
+ HttpServletResponse resp = (HttpServletResponse) response;
+ //获取请求url
+ String url = req.getRequestURL().toString();
+ log.info("请求的url: {}",url);
+ //检测url是否login,放行
+ if(url.contains("login")){
+ log.info("这是登录操作,放行·······");
+ chain.doFilter(request,response);
+ return;
+ }
+
+ //获取令牌
+ String jwt = req.getHeader("token");
+ //判断令牌是否存在
+ if(!StringUtils.hasLength(jwt)){
+ log.info("令牌不存在,返回登录页·······");
+ Result error = Result.error("NOT_LOGIN");
+ //手动转换JSON
+ String notLogin = JSONObject.toJSONString(error);
+ resp.getWriter().write(notLogin);
+ return;
+ }
+ //解析令牌
+ try {
+ JwtUtils.parseJWT(jwt);
+ } catch (Exception e) {//解析失败
+ e.printStackTrace();
+ log.info("解析失败");
+ Result error = Result.error("NOT_LOGIN");
+ //手动转换JSON
+ String notLogin = JSONObject.toJSONString(error);
+ resp.getWriter().write(notLogin);
+ return;
+ }
+
+
+ //放行
+
+ log.info("令牌合法,放行");
+ chain.doFilter(request,response);
+
+
+
+
+ }
+}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/mapper/EmpMapper.java b/case/server/tlias-web-management/src/main/java/top/lejings/mapper/EmpMapper.java
index 5b719d5..82943d4 100644
--- a/case/server/tlias-web-management/src/main/java/top/lejings/mapper/EmpMapper.java
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/mapper/EmpMapper.java
@@ -16,4 +16,8 @@ public interface EmpMapper {
public Long count();
public List page(Integer start, Integer pageSize);
+
+ //根据用户名和密码查询员工
+ @Select("select * from emp where username=#{username} and password=#{password}")
+ Emp getByUsernameAndPassword(Emp emp);
}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/service/EmpService.java b/case/server/tlias-web-management/src/main/java/top/lejings/service/EmpService.java
index 8a0a9d5..bd956a3 100644
--- a/case/server/tlias-web-management/src/main/java/top/lejings/service/EmpService.java
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/service/EmpService.java
@@ -11,4 +11,6 @@ import java.util.List;
public interface EmpService {
PageBean page(Integer page, Integer pageSize);
+
+ Emp login(Emp emp);
}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/service/impl/EmpServiceImpl.java b/case/server/tlias-web-management/src/main/java/top/lejings/service/impl/EmpServiceImpl.java
index 403d07e..bdedae5 100644
--- a/case/server/tlias-web-management/src/main/java/top/lejings/service/impl/EmpServiceImpl.java
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/service/impl/EmpServiceImpl.java
@@ -26,4 +26,9 @@ public class EmpServiceImpl implements EmpService {
return pageBean;
}
+ @Override
+ public Emp login(Emp emp) {
+ return empMapper.getByUsernameAndPassword(emp);
+ }
+
}
diff --git a/case/server/tlias-web-management/src/main/java/top/lejings/utils/JwtUtils.java b/case/server/tlias-web-management/src/main/java/top/lejings/utils/JwtUtils.java
new file mode 100644
index 0000000..dcc2171
--- /dev/null
+++ b/case/server/tlias-web-management/src/main/java/top/lejings/utils/JwtUtils.java
@@ -0,0 +1,40 @@
+package top.lejings.utils;
+
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
+import java.util.Date;
+import java.util.Map;
+
+public class JwtUtils {
+
+ private static String signKey = "lejings";
+ private static Long expire = 43200000L;
+
+ /**
+ * 生成JWT令牌
+ * @param claims JWT第二部分负载 payload 中存储的内容
+ * @return
+ */
+ public static String generateJwt(Map claims){
+ String jwt = Jwts.builder()
+ .addClaims(claims)
+ .signWith(SignatureAlgorithm.HS256, signKey)
+ .setExpiration(new Date(System.currentTimeMillis() + expire))
+ .compact();
+ return jwt;
+ }
+
+ /**
+ * 解析JWT令牌
+ * @param jwt JWT令牌
+ * @return JWT第二部分负载 payload 中存储的内容
+ */
+ public static Claims parseJWT(String jwt){
+ Claims claims = Jwts.parser()
+ .setSigningKey(signKey)
+ .parseClaimsJws(jwt)
+ .getBody();
+ return claims;
+ }
+}
diff --git a/case/server/tlias-web-management/src/test/java/top/lejings/TliasWebManagementApplicationTests.java b/case/server/tlias-web-management/src/test/java/top/lejings/TliasWebManagementApplicationTests.java
index af62d1d..da63e34 100644
--- a/case/server/tlias-web-management/src/test/java/top/lejings/TliasWebManagementApplicationTests.java
+++ b/case/server/tlias-web-management/src/test/java/top/lejings/TliasWebManagementApplicationTests.java
@@ -1,8 +1,15 @@
package top.lejings;
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
@SpringBootTest
class TliasWebManagementApplicationTests {
@@ -10,4 +17,41 @@ class TliasWebManagementApplicationTests {
void contextLoads() {
}
+
+
+ /*
+ *
+ * Jwp令牌
+ * 指定算法,密钥
+ * 内容
+ * 有效期
+ * */
+ @Test
+ public void testGenJwt(){
+ Map claims = new HashMap<>();
+ claims.put("id", 1);
+ claims.put("username", "lejings");
+
+ String jwt =Jwts.builder()
+ .signWith(SignatureAlgorithm.HS256, "lejings")
+ .setClaims(claims)
+ .setExpiration(new Date(System.currentTimeMillis()+3600*1000))
+ .compact();
+
+ System.out.println(jwt);
+ }
+
+ /*
+ * 解析令牌
+ *
+ * */
+ @Test
+ public void testParseJwt(){
+ Claims claims = Jwts.parser()
+ .setSigningKey("lejings")
+ .parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZXhwIjoxNzMzODQyMTk2LCJ1c2VybmFtZSI6ImxlamluZ3MifQ.P9U7bjcX9qE3W2FRlBeuNBzIbKnIshOcJGHVoZ1m4Fk")
+ .getBody();
+ System.out.println(claims);
+ }
+
}
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/TliasWebManagementApplication.class b/case/server/tlias-web-management/target/classes/top/lejings/TliasWebManagementApplication.class
index 179f6e912a0836fdd6784abafdc63be75b93329a..a69d11f1e5a421668bf28428c1be4f316dbd8c62 100644
GIT binary patch
delta 91
zcmey%x}S~f)W2Q(7#JAL8RRx{u`w}PPZng7QY=qR(l1UeD$7YN(GP~u&iT0o`FW{%
qCBeywdDfHpn93PBC$}-#v+^*oGw@D6#iYZ{#lXZM12jvPfdK$Dh#0;A
delta 53
zcmdnb_Lr6G)W2Q(7#JAL8Duwdu`w~)O%`O5nw-fL#mGMS2$MZ47Xv#3_hb%c9dA
zjw6B^1yL2Xs1s<;>#MqE>Q+v>p3cjRCr~$HScW$$P}9@9P>&eu6~t9EKovOS*#*s%
zdBe)NTE@0K$2LvrXem2qSmPC%vZkFANTh5hr@7|hVBWuylTI>*Ljvl~7hmmce)HtP
zqn%&wH=r4Z6(m$Vha>c8uZTd@uoi8BmY&p8Z)ZJ+P9)179#wG+tpahmQka#_s*#Zb
zovE<1ZkerJsoY35;5eRFa6-jNvHB&?#UO?R6nZpG
z9$l{TDacL?7X@NPV!tc+s)|d#U;_o`EBq0>reIXX>v%)pcsO_;F;}~`=FR(ulAI+S
z-IHVqoC=~T;mRnPf_)Vd$7PHwcvHm{Ob8qcYcD}NBi*7&Wr|zOWTZI#XFc`0DJpmLeF@%vo26iOv_y+a5@~qxT(7?vDqt`6lj|%TAr~Y7Yx@(
zn{v#uY)|(L+ae6ZWr2dG@xI$%bc$G~
zG?j~_QZ($1ykAX;{l&vi94P`v_h-lNcmctfj;8EzOzVZ+xQ40?jqKMS;skv*N~Mjn
zo}O7|JqP$SPf2gd&fd`dBzV$c3_}OzW=*EGv|(k#X}Mv$9#s|mX~_~?)y*P(uG4~H
z)?Hly6&qER@c*sN$d8NC^)B1lby|y!WX#|(iOO4h|=665dvSfymS#n|!e`8MJ$d{yQ1;tRp^boHu@}Ii{;bI8}`HBx{z9h9=fw_x3
d|5u-gZDHyMC_dC81a&iwo8(2XQpuJD{0pL`TM_^O
literal 0
HcmV?d00001
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/controller/SessionController.class b/case/server/tlias-web-management/target/classes/top/lejings/controller/SessionController.class
new file mode 100644
index 0000000000000000000000000000000000000000..44eb343726c913e3e526e0cc644a9a1522d073aa
GIT binary patch
literal 3589
zcma)8X?GOI6}_dcM?)iEu!Lm{LYPIPg^q-bF@qhD2u6t{2!bI%64Dx#q?TIULwAp`
z;y6}pvN&KTc47yU-C3NCEaV(Ogu^-cny>i_Sw7}#KE=7!-5O@3kz@{|?y7$E>b_g|
zy;pzx-~ERGp26>vs6w@d8XdK$6WBOq&YFg8Iupjp(J7e=1nLf3jukvFP~Dc!YDfq)
zE29?;UwX5)42;Pj$Q%8xJ8j7Xk^=R<^nJ^92F4Q5IqdG)-~04|XAVA_goXyS(FTFN
zZG(@t8VNkhnaC`kNoUt#6H*#B>v#-}0(&ZKeS-UsL|9HsKkque35x56%^8OL7(p%LG=aSW
z4YoUBIhP7NF^8r}q|vUSLq{jN%FaAG2%fpTTrh0{X)HaaND-Ozg?bqHn1*g0J=kCF
zV9pQZ47K7G7*k_}$8wERJm7%dr8$#P=%3bcK%q|%eb%%KGDSHa)bT71@dRefY1!{O
zIWstC1(SU91JelzXHO}dSTz-bPU0}0)9}2GkK>5I=8%(PgP
z4aanR0>=f~O3ypzI)Uffw)BjVNbCd|&oFq>Esz>?y$Qp&$9t!YL3d(8dYJ@H2yBY<
z8m35>-+kz%msJjaQpcw-NJ1t}pAnDoJeh9;NettphEqB|jniEF=zIs9K+-4Um{t6p
z92aP68z?0swxA%-;H-wMj&t}7PirYGff~yhch}6x#pBN=aDi*46pSa_oB<Oe{|~#dTg0eIyAFzJ@?Y0khQfQr3@~
zxxn@2SgD9D(g%x0slNMd)Auv!y5Zli9Io{mRxbYY2%6tU>nFcG(EhMid@*f3*PjZ%vp3G7%Ie&j~&?Q_G$y$Pc}
z>`!Oeo|J+g)wnp%!W9bb;hY`cMUo?K!OO|xmJ)r_vKqWk`4Bkxk@dh9&+fZe!l{Xk
zeXbk$foJ9;3HlrA@Z%(Yf}d)5U)6-43G8}=)N*FsX=y~wgO1p`iV1!rVm7)}#fFj7
z6Q(m}OMllObFGlCaQ`XcqHN)rxxB1k9;u-8`o=?B2D0C@?GY=GES$e!bBy%)@0(Zu
zIsf2aH~#RS2RB6mAFyJ@NBWO@x5_@UnhrRQ^uqEaS>k>ZUvkzAP{Z%yzOb?>+eyR*
zTG@ZAcqH^Iz#gqs_671w1J*)H&Ss@IX!Vf!fB}#+vuh
z+0|IvbEvMl?hbaQ_S`|+d)Ry%`_#DiJ}>OJgUr=h@xh0GkAYT)Q9nUifEIe*!A{zW
zcI?CwGMa_FMGzZM+pndy!8?VashCO})@@2Ltyow1AOnbfnIwE-v76
z)#Z#gZ~+K^6Yr*5(N)5FOA&Gl-o|&h%{(oM<83~c#O#pArcw(>j-94r#7zC}_~Z;P~chG?s3
zox;2L9)Zl$%ZmKnKmzX-Mc&FN)W7;v-#uLZGma{uixQ!)XIM8mSB39~B&h880mnb&
auYt2a;`ry`-(TWaoJ(^2Yy1|s(ENYOJjk8^
literal 0
HcmV?d00001
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/exception/GlobalExceptionHandler.class b/case/server/tlias-web-management/target/classes/top/lejings/exception/GlobalExceptionHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..f8637c621b55a957dd2528a45940f2efc6a47081
GIT binary patch
literal 922
zcma)5$!-%t5Pj`63{K)WBq4+?EKw
z(Gffry2hV`bs0H^%pIkbTW3hFtX2X{;8+$x4#z!wb_Bn-AIYXuMl(z|t>)ys1;XBe+esQF~@Li+$(>zz#qgW6!Ea7heB6lNflC?rYfny
zlG5^VyAeveEy9>Ag_4OxToG1zePB$v9o1r3`;Ed;MT!gwxzBK8yqO`BfAqsJH`e|r
zf|mM7x*bz}Dy(QoCoOSW+-hs58nU8ViU@CLZJhAiBj4?ku{GZEORPQjA$!K|@;w>y
zQ0XccLo6Q_84QTHr#m8U(?EiHNSAIH6f1c->-xkCAf7hdhyG^5=H8HJYquNoC
zEMgfa=p*(|0z?2AlJlf-x*6T+D+gd7`tAji-VIFRB+1+%0E;+98WF{5B>Ta4N%KjA
zs~?dqv-}J!B0vHc
O$eO^#zSq;b1pEYHHUokH
literal 0
HcmV?d00001
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/filter/LoginCheckFilter.class b/case/server/tlias-web-management/target/classes/top/lejings/filter/LoginCheckFilter.class
new file mode 100644
index 0000000000000000000000000000000000000000..fbb5f6e53d40a39dcfa1beaa9f3a1f6cd30c2f70
GIT binary patch
literal 3027
zcmai0>vI!T6#v~O?I!6~G15XnQF+;x$NENFM4<9CwAhwb#n(2yZMRK#&AsQGd(Q9t&N=swe}DW1
zz#4oOLm5IE!aB-PAuy-k++!MP)9y7|y830x7pPck*_OXfAXHn|p&=r$ObP8ZJn8O9
zOW)}8{fx1dkG5c;Rlbmwp06P$u>Ai-y^LdfvJx6}9aXqNpsH8;c@w)@lL8BB>yp>K
zYV%#o?%kN}>5*<@40CXkhPaNKF;}2wW-)?*w`Rb7!#D7)1@{X_&7gfdv9fd?#b1
zWj_z{j2y`y_Vh7CsPBPa|?tc?eq%7laAYKcN>z`|ntO?{@@rt)Q{WMkb^5v&xboA~v_`0;bsPFx=Q
z`Plf8Lsx(P;;)|$jvxJH;?%+4FBN}OOsiEuhCp?(+2B|@S&6%GkA{17+=u%G5>x3A
zKuI4gn@Q?+3ec_(Y+a|=RAvQm%&;4fDTmD(V&gjl(pJ=ZNJj%21)`+ZR%v!im&}~W
z-y)pzA;j=7)@gV|$9ilKSei>)MscvmH3#L8;|>^E-%1;S{4Tx{<7l7hC8gc#_ss$f
zk!}(&u3kQU?Y)CnM-GjhJwEouH-vfO*P~;fe;Hu^=cx%D!pu)C0s6D*I~@7W{i0jHCERSG;3(lu@jFA+?H|%
z4Kr~2PDi*BQMBo3$F3kjovy`#V>pFM
zwH#w70r!Iqy48s%G(4%}DaE^+b45Q@h7k`bD=|EcXEZ#k<2gLfPEs7HN}6YEAM*1l
zi)2jKliNGn1y;@o6OT|456P|^uZ*U&X$^Xf8oCNja;nUWE(b?6gkz8e4X@Yw0$i66d>z#>%wK8ziHcl`XZ$(oB{0BH?_I&82%
z%q#62o6VH(xGx6i1wDv8x;O^9>UoWI(_58>7uXVKDoVDaCZ}7{^`vFX=ImgXblc6Y
zG*{U2Qf9itbS?EizZmxWEE0cNvKZr8dM7J!ci`R(HJqCr|5xET7F|~^>LV^ki{PU6C8U(G(u(Z
zH-9U+_S=dp&>F%kuOQk`o(PYkQs5$PY^eAi)$xUiic#DeLZTwR5v)ClS|znHCl!Bm1e+ToiO2|&4bepTC|ZeE^ddTj
zmGJJ)GceTlMWmEcPmxkI5midDf>KN=DWSfp=QFGq@f!BC!G&@F*jUKGstH650hrHE
z0!z8J8n@s<+{)3p2pg~%Nv^hI8J^{RMWPmI-dFabp4L{=-WpmoZ~%AVJ>D9Q;2xYL
ze5Y_f&f)=lhqV~tFusC~IiL^lwkR=|qi-)Fv{XeaFL9Kd%&$eM8LY)-Yevw2
h9@UCpqKIE}Xy;?DmEjYD1Khyfqx>G*4dLO_{{Se@XKDZd
literal 0
HcmV?d00001
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/mapper/EmpMapper.class b/case/server/tlias-web-management/target/classes/top/lejings/mapper/EmpMapper.class
index 4702eb34f8bc348be78cfa1bdbeb8b3bea90bef4..3d79f812d1d364223d7c8f8f1a00caff5b5aa598 100644
GIT binary patch
delta 245
zcmdnQ@|l(E)W2Q(7#JAL86-DywK3L9q^FiRRfZO)7Ud=8raI=O1SA$0m**FyFf!|-q=;x$nW#*+9>lfr_56i67y0N3ZQlZWnj$O$$gALjLefCGFscRFfs@+2s1D-@B$sq
p%E%xBq}YL&kAaba1Bf}J85oNhM1cy#fTBzc;$T@epo|0q0|5O~LV*AP
delta 52
zcmey&x`~DB)W2Q(7#JAL8ALa7wJ}cCVhUhnnq19fEylpaAOw_PVi0Cv2hwZ|j0_?S
F3;=Ft2}J+^
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/service/EmpService.class b/case/server/tlias-web-management/target/classes/top/lejings/service/EmpService.class
index ab75656283527fb28f046ca81b1a4614ad92fb33..0e5ed142a3e0abec90a9033b911e6631295161ff 100644
GIT binary patch
delta 137
zcmey(c$SIl)W2Q(7#JAL8Tcl0Ew^RO$xqMBV`R|N@F~eJ(9cQD%FIhI)-TA<%GYA;XU>^3XSiSHW5RsLND?R!nnK5YBN%b!*rt1t
z+v-v@+u>}Nol%W8pn*DEq5%)H-Xm&6EBkZ}}Hu6QPpudeBfl5(*jBi$QI>2Ck+CfZFksanOL0Qbqw%)|Wu!3F#R6SNmT
diff --git a/case/server/tlias-web-management/target/classes/top/lejings/utils/JwtUtils.class b/case/server/tlias-web-management/target/classes/top/lejings/utils/JwtUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..92363fe475351b4bd90388a4291072daba17ae02
GIT binary patch
literal 2130
zcma)8ZC4XV7`>AhHVKO$VhR*(3uqHiLTRaOLv01M8iUvd!?CY!k|Au|?53NIl>g9g
z{Ua@&qfpQB^mBhyPw(tTTnKXbka^j8W}f@p=gu?v_rJei0k{S?g$SY=VmjjJ6Bue3
zPmP>q*!A36r6H@HK;M#So8EPSXeL`uA%UcZl#YJr0wboAYqTAETUI>hiL`TtZLck$
zRXV0sldizUOtyH8&2q4w@5dPoY8cXS7Q+JLZ#NZ48nxPrWtdGmxSA>YKs%mkFu7}5f~0)@X0QDF0Fk&-q-N~CIu48aD!+B
z)-$I;(R
zD2#%l;EIl`n4@CkZ!Oc6+#iBebQoU>^Y}=^f{u^X`GI$z0JY2#e%slHKv
zHz7*zU+cJmWro!<+_n<+h2us2z+Yw#Z{n7Q+d96%9f7fFy;08RpB?(bfRIO`4~f6PH?;d>oF;72Y#RXJbVq;uvvlm=flRKSW;qn-wf
zrY-Mxnic7;8x@ORhKo+su*!yOs(JTg%-d43oG8Bi9_9u5>(Z7~kYqvxros{mDoT$S
zD1mCX01XBh59$vuK|>vrK8$Cl^%~RS;SEcn7`svned%&~ohXM^rMKnOm~f*hJ?S#8
ztGvMke;~m5*^H0)oD)Fs%ywgHix1ARtYSfJuUzqMKVQd5&dwBE=vx;otQ=tAbfbW0Y52(d)
H1i$_dt}7z3
literal 0
HcmV?d00001
diff --git a/case/server/tlias-web-management/target/test-classes/top/lejings/TliasWebManagementApplicationTests.class b/case/server/tlias-web-management/target/test-classes/top/lejings/TliasWebManagementApplicationTests.class
new file mode 100644
index 0000000000000000000000000000000000000000..55b31c85c5306255c1d5a7d5397b8bc2424d1234
GIT binary patch
literal 2476
zcmb7GYgZFj6x}y~6XN(F0#)k!nSdq&3R0{spg>{*Xkt+MoP=w*VKOt$!w~w={-pXr
zp{~`{k6ryS{Rv$?cV?78Sk`8(Ozzx!9{ZfL&$;>QpWl85Fpghhh@eA3r;08dU^rUS
zo@;4cGpgyua*bD9h6A^SA>2C*9f@Q~L6o7#7xG-8r{^_iEw5QIDCmgdAVWl~#&8IS
z6&z7<6g}^xeUll(bNk3l2j`RBxPXfaE~&VTD-7rNiWWrG&|J^vQ+n03
zg}YW~=$bE#+#F-L*k-t0ni7@7pn@S4S8|m8$kNnZ756Yp)To$sOOuV$OVrq5c9_6!iez3z23f*qN*4D8
zLR7dVO0i3FT&qvUkV9U4VhL#G~vpAHQ86!bN|oHB!gNp
zY4&fpIa6CD3nw0WhD)7V5{@AAQ-)!>J}f#rnKSKby5`ZPLr+V%+)itjNK3?IDdy7e
z95;wZMCwX7VvYn&^nSunbJe6kyuAY{$Gc-|TJPe!x!cO^cIB3xF!Oh0bP|)#Y9H0{
zHqr-0l;{hlXIJ>FkU75c-xW&9zNf25r)ye%I_XOnH5d$9rRkT+oxwL?ztSQClb-Sz
zI1G!PY9N4Tu;~qO=rrOh57C>HYg3H3D6&w|B|&M{^Oc^zH}a>v_-U{B7Rr-1=*|tr
zW1U-2w-N8a@=*MEd>~kE;p8ivmv4y<3~eJ7!CQFxfI9qu1`(t68AK@)eK<$Y3rOH1Qn*C_VJ>49SExUdH0TC>>}LZ^A@(SpHLyYG
zb7Y~3O-jHIWKX6hIQx-SyCeMReS|fVmbpK_g$EM;qX^<(ZQ~mWR%7@B)g0j+dJVBt
rfC175-8WqrB`-J7LqmT6V}yL%$JZZN4Dk&RiUxje!|;M^MDX%oi>i+|
literal 0
HcmV?d00001
diff --git a/case/server/tlias-web-management/tlias-web-management.iml b/case/server/tlias-web-management/tlias-web-management.iml
index e7b1d36..1daccae 100644
--- a/case/server/tlias-web-management/tlias-web-management.iml
+++ b/case/server/tlias-web-management/tlias-web-management.iml
@@ -1,99 +1,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file