fix(report): 在SecurityRequestFilter中添加从cookie中获取token的逻辑

- 当请求头中不存在token时,尝试从cookie中获取token,增强安全性和兼容性。
This commit is contained in:
冷冷 committed 2025-03-09 21:35:14 +08:00
1 parent e73795310f
commit fccd16a2e6
1 file changed
+7 -7
@@ -2,18 +2,13 @@ package com.pig4cloud.pigx.report.config;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.JakartaServletUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.http.ContentType;
import cn.hutool.json.JSONUtil;
import com.pig4cloud.pigx.admin.api.feign.RemoteTokenService;
import com.pig4cloud.pigx.common.core.constant.CommonConstants;
import com.pig4cloud.pigx.common.core.util.RetOps;
import io.springboot.plugin.goview.common.domain.AjaxResult;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@@ -25,6 +20,11 @@ import org.springframework.util.AntPathMatcher;
import org.springframework.util.PathMatcher;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
@@ -73,7 +73,7 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
if (StrUtil.isBlank(accessToken)) {
Map<String, Cookie> cookieMap = JakartaServletUtil.readCookieMap(request);
Map<String, Cookie> cookieMap = ServletUtil.readCookieMap(request);
if (cookieMap.containsKey(TOKEN)) {
accessToken = cookieMap.get(TOKEN).getValue();
}