diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/util/JwtTokenUtil.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/util/JwtTokenUtil.java index 5701c04..f56b329 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/util/JwtTokenUtil.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/util/JwtTokenUtil.java @@ -3,10 +3,14 @@ package com.test.bijihoudaun.util; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import io.jsonwebtoken.security.Keys; +import jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; +import java.nio.charset.StandardCharsets; +import java.security.Key; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -21,6 +25,13 @@ public class JwtTokenUtil { @Value("${jwt.expiration}") private Long expiration; + private Key key; + + @PostConstruct + public void init() { + this.key = Keys.hmacShaKeyFor(secret.getBytes(StandardCharsets.UTF_8)); + } + // 从token中获取用户名 public String getUsernameFromToken(String token) { return getClaimFromToken(token, Claims::getSubject); @@ -38,7 +49,7 @@ public class JwtTokenUtil { // 为了从token中获取任何信息,我们都需要密钥 private Claims getAllClaimsFromToken(String token) { - return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + return Jwts.parserBuilder().setSigningKey(key).build().parseClaimsJws(token).getBody(); } // 检查token是否过期 @@ -57,7 +68,7 @@ public class JwtTokenUtil { private String doGenerateToken(Map claims, String subject) { return Jwts.builder().setClaims(claims).setSubject(subject).setIssuedAt(new Date(System.currentTimeMillis())) .setExpiration(new Date(System.currentTimeMillis() + expiration * 1000)) - .signWith(SignatureAlgorithm.HS512, secret).compact(); + .signWith(key, SignatureAlgorithm.HS512).compact(); } // 验证token diff --git a/biji-houdaun/src/main/resources/application.yml b/biji-houdaun/src/main/resources/application.yml index c256703..e85a973 100644 --- a/biji-houdaun/src/main/resources/application.yml +++ b/biji-houdaun/src/main/resources/application.yml @@ -32,7 +32,7 @@ mybatis-plus: # JWT 配置 jwt: - secret: mysecretkeymysecretkeymysecretkeymysecretkeymysecretkey # 至少256位的密钥 + secret: V2VsbCwgSSBzdXBwb3NlIHRoYXQgaWYgeW91J3JlIHJlYWRpbmcgdGhpcywgeW91J3JlIHByZXR0eSBjdXJpb3VzLg== # 这是一个足够长的Base64编码密钥,满足HS512的要求 expiration: 86400 # token有效期,单位秒,这里是24小时 header: Authorization # JWT存储的请求头 tokenHead: "Bearer " # JWT负载中拿到开头 diff --git a/biji-qianduan/src/components/HomePage.vue b/biji-qianduan/src/components/HomePage.vue index e58ce94..8cfdf44 100644 --- a/biji-qianduan/src/components/HomePage.vue +++ b/biji-qianduan/src/components/HomePage.vue @@ -22,25 +22,10 @@ popper-effect="light" :collapse-transition="false" > - - - - - - {{ sub.grouping }} - - + + @@ -117,21 +102,15 @@ - - - 一级分类 - 二级分类 - - - - - - + + @@ -149,25 +128,15 @@ - - - - - - - - +