From 0fb3a76c8f7c161daeee597075ef1dfebc67badc Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 25 Jul 2024 11:20:50 +0800
Subject: [PATCH] 后台

---
 src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java b/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
index 06878ae..adc7b47 100644
--- a/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
+++ b/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
@@ -6,9 +6,11 @@
 import cc.mrbird.febs.common.utils.SpringContextUtil;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.SecureUtil;
 import cn.hutool.crypto.asymmetric.KeyType;
 import cn.hutool.crypto.asymmetric.RSA;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -31,6 +33,9 @@
 
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        if ("OPTIONS".equals(request.getMethod().toUpperCase())) {
+            return true;
+        }
         String headerToken = request.getHeader("token");
         if (StringUtils.isBlank(headerToken)) {
             responseUnAuth(response);
@@ -38,7 +43,6 @@
         }
 
         String token = resolveToken(headerToken);
-
         if (token == null || AppContants.TIME_OUT.equals(token)) {
             responseUnAuth(response);
             return false;
@@ -68,7 +72,11 @@
     private void responseUnAuth(HttpServletResponse response) throws IOException {
         response.setCharacterEncoding("UTF-8");
         response.setContentType("application/json; charset=utf-8");
-        response.getWriter().write(new ObjectMapper().writeValueAsString(new FebsResponse().code(HttpStatus.UNAUTHORIZED)));
+
+        FebsResponse code = new FebsResponse().code(HttpStatus.UNAUTHORIZED);
+        String encryptBase64 = SecureUtil.rsa(AppContants.RESP_PRIVATE_KEY, AppContants.RESP_PUBLIC_KEY).encryptBase64(JSONObject.toJSONString(code).getBytes(), KeyType.PublicKey);
+        response.getWriter().write(new ObjectMapper().writeValueAsString(encryptBase64));
+//        response.getWriter().write(new ObjectMapper().writeValueAsString(new FebsResponse().code(HttpStatus.UNAUTHORIZED)));
     }
 
     private String resolveToken(String token) {
@@ -90,7 +98,7 @@
         boolean isDebug = true;
         if (!isDebug) {
             long currentTime = System.currentTimeMillis();
-            return currentTime - time <= 30000;
+            return currentTime - time <= 3600000;
         }
         return true;
     }

--
Gitblit v1.9.1