From 184faafd43c0feb6967e8601bf2450206908b0b1 Mon Sep 17 00:00:00 2001
From: xuxin <840198532@qq.com>
Date: Sun, 30 Nov 2025 15:24:10 +0800
Subject: [PATCH] =?UTF-8?q?tlias=E7=AE=A1=E7=90=86=E7=B3=BB=E7=BB=9F--JWT-?=
=?UTF-8?q?-=E7=94=9F=E6=88=90&=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
tlias-web-management/pom.xml | 6 ++
.../inmind/controller/SessionController.java | 58 +++++++++++++++++++
.../TliasWebManagementApplicationTests.java | 28 +++++++++
3 files changed, 92 insertions(+)
create mode 100644 tlias-web-management/src/main/java/com/inmind/controller/SessionController.java
diff --git a/tlias-web-management/pom.xml b/tlias-web-management/pom.xml
index 9578b76..239c30c 100644
--- a/tlias-web-management/pom.xml
+++ b/tlias-web-management/pom.xml
@@ -69,6 +69,12 @@
2.3.3
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.1
+
diff --git a/tlias-web-management/src/main/java/com/inmind/controller/SessionController.java b/tlias-web-management/src/main/java/com/inmind/controller/SessionController.java
new file mode 100644
index 0000000..9405519
--- /dev/null
+++ b/tlias-web-management/src/main/java/com/inmind/controller/SessionController.java
@@ -0,0 +1,58 @@
+package com.inmind.controller;
+
+import com.inmind.pojo.Result;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+/**
+ * HttpSession演示
+ */
+@Slf4j
+@RestController
+public class SessionController {
+
+ //设置Cookie
+ @GetMapping("/c1")
+ public Result cookie1(HttpServletResponse response){
+ response.addCookie(new Cookie("login_username","inmind")); //设置Cookie/响应Cookie
+ return Result.success();
+ }
+
+ //获取Cookie
+ @GetMapping("/c2")
+ public Result cookie2(HttpServletRequest request){
+ Cookie[] cookies = request.getCookies();
+ for (Cookie cookie : cookies) {
+ if(cookie.getName().equals("login_username")){
+ System.out.println("login_username: "+cookie.getValue()); //输出name为login_username的cookie
+ }
+ }
+ return Result.success();
+ }
+
+//------------------------------------------------------------------------------------------
+
+ @GetMapping("/s1")
+ public Result session1(HttpSession session){//session是服务器根据指定的客户端生成的对应的会话对象
+ log.info("HttpSession-s1: {}", session.hashCode());
+
+ session.setAttribute("loginUser", "tom"); //往session中存储数据
+ return Result.success();
+ }
+
+ @GetMapping("/s2")
+ public Result session2(HttpServletRequest request){
+ HttpSession session = request.getSession();
+ log.info("HttpSession-s2: {}", session.hashCode());
+
+ Object loginUser = session.getAttribute("loginUser"); //从session中获取数据
+ log.info("loginUser: {}", loginUser);
+ return Result.success(loginUser);
+ }
+}
diff --git a/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java b/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java
index 9051b75..f4fa98c 100644
--- a/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java
+++ b/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java
@@ -1,8 +1,14 @@
package com.inmind;
+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;
import java.util.UUID;
@SpringBootTest
@@ -25,4 +31,26 @@ class TliasWebManagementApplicationTests {
System.out.println(ossAccessKeyId);
}
+ @Test
+ void testJWT(){//生成JWT
+ Map claim = new HashMap<>();
+ claim.put("id",1);
+ claim.put("name", "zhangsan");
+ String jwt = Jwts.builder()
+ .signWith(SignatureAlgorithm.HS256, "inmind")//签名算法
+ .setClaims(claim)//定义内容数据(载荷)
+ .setExpiration(new Date(System.currentTimeMillis()))
+ .compact();
+ System.out.println(jwt);
+ }
+
+ @Test
+ void parseJWT(){//解析JWT,最重要的就是输入正确的签名密钥
+ String jwt = "eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiemhhbmdzYW4iLCJpZCI6MSwiZXhwIjoxNzY0NDg3MzIzfQ.Ay2t3bLEX8QPl2MxhsdxoeEzKL-x5ROs4mRTBtuPZWw\n";
+ Claims claims = Jwts.parser()
+ .setSigningKey("inmind")
+ .parseClaimsJws(jwt).getBody();
+ System.out.println(claims);
+ }
+
}