Bläddra i källkod

小程序登陆

zwq 2 år sedan
förälder
incheckning
3177ba73c2
1 ändrade filer med 17 tillägg och 9 borttagningar
  1. 17 9
      nngkxxdp/src/main/java/com/example/nngkxxdp/filters/LoginFilter.java

+ 17 - 9
nngkxxdp/src/main/java/com/example/nngkxxdp/filters/LoginFilter.java

@@ -1,6 +1,7 @@
 package com.example.nngkxxdp.filters;
 
 import java.io.IOException;
+import java.io.PrintWriter;
 import java.util.Map;
 
 import javax.servlet.*;
@@ -8,7 +9,10 @@ import javax.servlet.annotation.WebFilter;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.example.nngkxxdp.program.util.MiniTokenUtil;
+import com.example.nngkxxdp.util.SendUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.annotation.Order;
 
@@ -36,15 +40,19 @@ public class LoginFilter implements Filter {
         HttpServletResponse rsp = (HttpServletResponse)response;
         System.err.println(req.getRequestURL());
         // mini是小程序接口
-        if (req.getRequestURI().indexOf("/mini/") > 0) {
-			if (Blank.isEmpty(req.getHeader("mini-token"))) {
-				rsp.sendError(403);
-			}
-			String token = req.getHeader("mini-token");
-			if (!MiniTokenUtil.verify(token)) {
-				rsp.sendError(403);
-			}
-			chain.doFilter(req, response);
+        if (req.getRequestURL().indexOf("/mini/") > 0) {
+            if (Blank.isNotEmpty(req.getHeader("mini-token")) && MiniTokenUtil.verify(req.getHeader("mini-token"))) {
+                chain.doFilter(req, response);
+			} else {
+                response.setCharacterEncoding("utf-8");
+                response.setContentType("text/html; charset=utf-8");
+                PrintWriter writer = response.getWriter();
+                writer.write(JSON.toJSONString(SendUtil.send(false, "请重新登陆"),
+                        SerializerFeature.WriteMapNullValue));
+                writer.flush();
+                writer.close();
+                return;
+            }
         } else {
             if (req.getRequestURI().indexOf("/mapdata/page") > 0) {
                 chain.doFilter(req, response);