Pārlūkot izejas kodu

uid header

(cherry picked from commit f8233e69bcdbf348ddaf895f67e4da4787c3d0c4)
xiongzhu 3 gadi atpakaļ
vecāks
revīzija
6e68b6122a

+ 27 - 0
src/main/java/com/izouma/nineth/config/AddResponseHeaderFilter.java

@@ -0,0 +1,27 @@
+package com.izouma.nineth.config;
+
+import com.izouma.nineth.domain.User;
+import com.izouma.nineth.utils.SecurityUtils;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+@Order(Ordered.LOWEST_PRECEDENCE)
+public class AddResponseHeaderFilter extends OncePerRequestFilter {
+    @Override
+    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
+        User user = SecurityUtils.getAuthenticatedUser();
+        if (user != null) {
+            httpServletResponse.addHeader("X-UID", user.getId() + "");
+        }
+        filterChain.doFilter(httpServletRequest, httpServletResponse);
+    }
+}

+ 2 - 0
src/main/java/com/izouma/nineth/security/JwtAuthorizationTokenFilter.java

@@ -5,6 +5,7 @@ import io.jsonwebtoken.SignatureException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.annotation.Order;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -21,6 +22,7 @@ import java.io.IOException;
 
 @Component
 @Slf4j
+@Order(1)
 public class JwtAuthorizationTokenFilter extends OncePerRequestFilter {
 
     private final UserDetailsService userDetailsService;

+ 8 - 9
src/test/java/com/izouma/nineth/CommonTest.java

@@ -9,7 +9,6 @@ import com.izouma.nineth.domain.BaseEntity;
 import com.izouma.nineth.domain.BlindBoxItem;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.utils.AESEncryptUtil;
-import com.izouma.nineth.utils.DateTimeUtils;
 import com.izouma.nineth.utils.TokenUtils;
 import com.izouma.nineth.web.BaseController;
 import io.ipfs.api.IPFS;
@@ -66,8 +65,6 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.security.NoSuchAlgorithmException;
-import java.time.LocalDate;
-import java.time.temporal.ChronoUnit;
 import java.util.List;
 import java.util.*;
 import java.util.concurrent.ExecutorService;
@@ -458,11 +455,13 @@ public class CommonTest {
 
     @Test
     public void aasdf() {
-        System.out.println(new ArrayList<>(10).size());
-
-        System.out.println(Pattern.matches("[1-9]{1}[0-9]{5}(19|20)[0-9]{2}((0[1-9]{1})|(1[0-2]{1}))((0[1-9]{1})|([1-2]{1}[0-9]{1}|(3[0-1]{1})))[0-9]{3}[0-9x]{1}",
-                "321002199408304614"));
-        System.out.println(DateTimeUtils.toLocalDate("321002199408304614".substring(6, 14), "yyyyMMdd"));
-        System.out.println(ChronoUnit.YEARS.between(DateTimeUtils.toLocalDate("321002199408304614".substring(6, 14), "yyyyMMdd"), LocalDate.now()));
+        String body = HttpRequest.post("https://jubrige.market.alicloudapi.com/mobile/3-validate-transfer")
+                .header("Authorization", "APPCODE b48bc8f6759345a79ae20a951f03dabe")
+                .contentType(HttpRequest.CONTENT_TYPE_FORM)
+                .form("idCardNo", "430223198503027240")
+                .form("mobile", "13342533959")
+                .form("name", "陈赛")
+                .body();
+        System.out.println(JSON.toJSONString(JSON.parseObject(body), SerializerFeature.PrettyFormat));
     }
 }