From edadefcc724fa0ec190ba7b6bf63ae49ac80c545 Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Wed, 14 Oct 2020 20:34:29 +0800
Subject: [PATCH] cpv配置

---
 src/main/java/com/xcong/excoin/common/aop/SubmitRepeatAspect.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/aop/SubmitRepeatAspect.java b/src/main/java/com/xcong/excoin/common/aop/SubmitRepeatAspect.java
index 9d00c82..f7f4596 100644
--- a/src/main/java/com/xcong/excoin/common/aop/SubmitRepeatAspect.java
+++ b/src/main/java/com/xcong/excoin/common/aop/SubmitRepeatAspect.java
@@ -1,7 +1,13 @@
 package com.xcong.excoin.common.aop;
 
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.asymmetric.KeyType;
+import cn.hutool.crypto.asymmetric.RSA;
+import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.annotations.SubmitRepeat;
+import com.xcong.excoin.common.contants.AppContants;
 import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.configurations.properties.SecurityProperties;
 import com.xcong.excoin.utils.MessageSourceUtils;
 import com.xcong.excoin.utils.RedisUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -27,6 +33,8 @@
 
     @Resource
     private RedisUtils redisUtil;
+    @Resource
+    private SecurityProperties securityProperties;
 
     private String key;
 
@@ -44,9 +52,15 @@
         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
         HttpServletRequest request = attributes.getRequest();
 
-        String token = request.getHeader("token");
+       //String token = request.getHeader("token");
+        String bearerToken = request.getHeader(AppContants.TOKEN_HEADER);
+        String rsaToken = bearerToken.replace(AppContants.TOKEN_START_WITH, "");
+        RSA rsa = new RSA(securityProperties.getPrivateKey(), null);
+        String[] tokens = StrUtil.split(rsa.decryptStr(rsaToken, KeyType.PrivateKey), "_");
+        String token = tokens[0];
         String uri = request.getRequestURI();
-        String mId = (String) redisUtil.get(token);
+        Long mId = LoginUserUtils.getAppLoginUser().getId();
+        //String mId = (String) redisUtil.get(token);
         log.info("#token : {}, uri : {}, mId : {}#", token, uri, mId);
         key = mId + "_" + uri;
         boolean flag = redisUtil.setNotExist(key, "1", 5);

--
Gitblit v1.9.1