From 6c0f4b58b212b6a13af08b18f8dfc52c98aaf298 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Tue, 29 Jul 2025 23:18:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E6=94=B9?= =?UTF-8?q?=E6=88=90json=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sczx/user/util/JwtUtil.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sczx/user/util/JwtUtil.java b/src/main/java/com/sczx/user/util/JwtUtil.java index 588028b..3d46b0a 100644 --- a/src/main/java/com/sczx/user/util/JwtUtil.java +++ b/src/main/java/com/sczx/user/util/JwtUtil.java @@ -1,5 +1,6 @@ package com.sczx.user.util; +import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Maps; import com.sczx.user.dto.SimpleUserInfoDTO; import io.jsonwebtoken.JwtException; @@ -42,7 +43,8 @@ public class JwtUtil { // 支持自定义 claims 的 generateToken 方法 public String generateToken(SimpleUserInfoDTO simpleUserInfoDTO, String subject){ Map claims = Maps.newHashMap(); - claims.put("userInfo", simpleUserInfoDTO); + String userInfoJson = JSONObject.toJSONString(simpleUserInfoDTO); + claims.put("userInfo", userInfoJson); return Jwts.builder() .setClaims(claims) // 设置自定义 claims .setSubject(subject) @@ -116,8 +118,9 @@ public class JwtUtil { String authHeader = getAuthorizationHeader(); if (authHeader != null && authHeader.startsWith("Bearer ")) { String token = authHeader.substring(7); + String userInfoJson = getClaim(token, "userInfo", String.class); // 进行token验证等操作 - return getClaim(token, "userInfo", SimpleUserInfoDTO.class); + return JSONObject.parseObject(userInfoJson, SimpleUserInfoDTO.class); }else { throw new RuntimeException("token不存在"); }