diff --git a/.idea/misc.xml b/.idea/misc.xml
index 79f13d2..9134c12 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -9,5 +9,5 @@
-
+
\ No newline at end of file
diff --git a/common/common-util/pom.xml b/common/common-util/pom.xml
index 9d7061a..156fad3 100644
--- a/common/common-util/pom.xml
+++ b/common/common-util/pom.xml
@@ -19,12 +19,13 @@
- org.springframework.boot
- spring-boot-starter-web
+ com.atguigu
+ model
+ 1.0-SNAPSHOT
- io.jsonwebtoken
- jjwt
+ org.springframework.boot
+ spring-boot-starter-web
org.projectlombok
@@ -35,10 +36,9 @@
fastjson
- com.atguigu
- model
- 1.0-SNAPSHOT
- compile
+ javax.xml.bind
+ jaxb-api
+ 2.1
diff --git a/common/common-util/src/main/java/com/atguigu/common/utlis/JwtHelper.java b/common/common-util/src/main/java/com/atguigu/common/utlis/JwtHelper.java
new file mode 100644
index 0000000..7f3f888
--- /dev/null
+++ b/common/common-util/src/main/java/com/atguigu/common/utlis/JwtHelper.java
@@ -0,0 +1,51 @@
+package com.atguigu.common.utlis;
+
+import io.jsonwebtoken.*;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+
+public class JwtHelper {
+ private static final long tokenExpiration = 365L * 24 * 60 * 60 * 1000;
+ private static final String tokenSignKey = "guigu-OA";
+
+ public static String createToken(Long userId, String userName) {
+ return Jwts.builder()
+ .setSubject("OA-USER")
+ .setExpiration(new Date(System.currentTimeMillis() + tokenExpiration))
+ .claim("userId", userId)
+ .claim("userName", userName)
+ .signWith(SignatureAlgorithm.HS256, tokenSignKey)
+ .compressWith(CompressionCodecs.GZIP)
+ .compact();
+ }
+
+ public static Long getUserId(String token) {
+ if (StringUtils.isEmpty(token)) return null;
+
+ Jws claimsJws = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);
+ Claims claims = claimsJws.getBody();
+ Integer userId = (Integer) claims.get("userId");
+ return userId.longValue();
+ // return 1L;
+ }
+
+ public static String getUserName(String token) {
+ if (StringUtils.isEmpty(token)) return "";
+
+ Jws claimsJws = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);
+ Claims claims = claimsJws.getBody();
+ return (String) claims.get("userName");
+ }
+
+ public static void removeToken(String token) {
+ // jwttoken无需删除,客户端扔掉即可。
+ }
+
+ public static void main(String[] args) {
+ String token = JwtHelper.createToken(7L, "admin");
+ System.out.println(token);
+ System.out.println(JwtHelper.getUserId(token));
+ System.out.println(JwtHelper.getUserName(token));
+ }
+}
\ No newline at end of file
diff --git a/common/common-util/target/classes/com/atguigu/common/result/Result.class b/common/common-util/target/classes/com/atguigu/common/result/Result.class
index c797a58..0f9aaa3 100644
Binary files a/common/common-util/target/classes/com/atguigu/common/result/Result.class and b/common/common-util/target/classes/com/atguigu/common/result/Result.class differ
diff --git a/common/common-util/target/classes/com/atguigu/common/result/ResultCodeEnum.class b/common/common-util/target/classes/com/atguigu/common/result/ResultCodeEnum.class
index f4de3e5..3ecfd45 100644
Binary files a/common/common-util/target/classes/com/atguigu/common/result/ResultCodeEnum.class and b/common/common-util/target/classes/com/atguigu/common/result/ResultCodeEnum.class differ
diff --git a/common/pom.xml b/common/pom.xml
index 884656b..3f21a62 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -1,4 +1,4 @@
-
4.0.0
@@ -21,6 +21,9 @@
-
+
+ io.jsonwebtoken
+ jjwt
+
diff --git a/model/src/main/java/com/atguigu/model/system/Login.java b/model/src/main/java/com/atguigu/model/system/Login.java
new file mode 100644
index 0000000..2c4a60c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/model/system/Login.java
@@ -0,0 +1,14 @@
+package com.atguigu.model.system;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class Login {
+ private String token;
+}
diff --git a/service-oa/src/main/java/com/atguigu/auth/controller/IndexController.java b/service-oa/src/main/java/com/atguigu/auth/controller/IndexController.java
index 3384d05..8e3d720 100644
--- a/service-oa/src/main/java/com/atguigu/auth/controller/IndexController.java
+++ b/service-oa/src/main/java/com/atguigu/auth/controller/IndexController.java
@@ -1,12 +1,13 @@
package com.atguigu.auth.controller;
+import com.atguigu.auth.service.SysUserService;
import com.atguigu.common.result.Result;
+import com.atguigu.model.system.Login;
+import com.atguigu.vo.system.LoginVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@@ -20,13 +21,14 @@ import java.util.Map;
@RestController
@RequestMapping("/admin/system/index")
public class IndexController {
+ @Autowired
+ private SysUserService sysUserService;
@Operation(summary = "登录", description = "登录")
@PostMapping("login")
- public Result