From 8d3e4f4b795f44e6d59facb11d7fc0918376f4f2 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Wed, 11 Nov 2020 15:57:24 +0800
Subject: [PATCH] 点击沧州monitor显示整个沧州设备

---
 src/main/java/com/moral/common/interceptor/WebInterceptor.java |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/moral/common/interceptor/WebInterceptor.java b/src/main/java/com/moral/common/interceptor/WebInterceptor.java
index 0255cd8..1b7be06 100644
--- a/src/main/java/com/moral/common/interceptor/WebInterceptor.java
+++ b/src/main/java/com/moral/common/interceptor/WebInterceptor.java
@@ -7,6 +7,8 @@
 import com.auth0.jwt.exceptions.JWTVerificationException;
 import com.auth0.jwt.interfaces.Claim;
 import com.moral.common.exception.WebAuthException;
+import com.moral.common.util.RedisHashUtil;
+import com.moral.common.util.WebTokenUtils;
 import com.moral.common.webAnno.PassToken;
 import com.moral.common.webAnno.UserLoginToken;
 import com.moral.entity.Account;
@@ -35,10 +37,15 @@
     @Resource
     AccountService accountService;
 
+    @Resource
+    RedisHashUtil redisHashUtil;
+
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
+        response.setHeader("Access-Control-Allow-Origin", "*");
+        response.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
+        response.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
         String token = request.getHeader("token");
-        Enumeration<String> headerNames = request.getHeaderNames();
         //������������������������������������������
         if(!(o instanceof HandlerMethod)){
             return true;
@@ -65,9 +72,7 @@
                 //������ID
                 String id = "";
                 try {
-                    Map<String, Claim> claims = JWT.decode(token).getClaims();
-                    Claim accountId = claims.get("aid");
-                    id = accountId.asString();
+                    id = WebTokenUtils.getIdBytoken(token);
                 }catch (JWTDecodeException e){
                     throw new WebAuthException("401,token������");
                 }
@@ -87,6 +92,11 @@
                     throw new WebAuthException("401,token������������������");
                 }
 
+                //������token������������������������
+                String redisToken = (String)redisHashUtil.getMapVal("webToken",id);
+                if(token.equals(redisToken))
+                    throw new WebAuthException("401,token������");
+
                 return true;
             }
         }

--
Gitblit v1.8.0