Pārlūkot izejas kodu

内部接口鉴权

dengsixing 1 mēnesi atpakaļ
vecāks
revīzija
117eee39a3

+ 51 - 0
src/main/java/com/fdkankan/contro/Interceptor/LogProxy.java

@@ -0,0 +1,51 @@
+package com.fdkankan.contro.Interceptor;
+
+import com.alibaba.fastjson.JSON;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Arrays;
+import java.util.List;
+
+@Slf4j
+@Aspect
+@Component
+public class LogProxy {
+
+	@AfterReturning(value = "execution(* com.fdkankan.contro.controller.*.*(..))", returning = "result")
+	public void afterMethod(JoinPoint point, Object result){
+		String methodName = point.getSignature().getName();
+		List<Object> args = (List<Object>) Arrays.asList(point.getArgs()).stream().filter(v -> {
+			if(v instanceof MultipartFile){
+				return false;
+			}
+			if(v instanceof String && ((String) v).startsWith("data:image/png;base64")){
+				return false;
+			}
+			return true;
+		});
+		System.out.println("连接点方法为:" + methodName + ",参数为:" + JSON.toJSONString(args) + ",目标方法执行结果为:" + JSON.toJSONString(result));
+	}
+
+	@AfterThrowing(value = "execution(* com.fdkankan.kz.pms.controller.*.*.*(..))")
+	public void afterThrowing(JoinPoint point){
+		String methodName = point.getSignature().getName();
+		List<Object> args = (List<Object>) Arrays.asList(point.getArgs()).stream().filter(v -> {
+			if(v instanceof MultipartFile){
+				return false;
+			}
+			if(v instanceof String && ((String) v).startsWith("data:image/png;base64")){
+				return false;
+			}
+			return true;
+		});
+		System.out.println("连接点方法为:" + methodName + ",参数为:" + JSON.toJSONString(args));
+	}
+
+
+}

+ 4 - 2
src/main/java/com/fdkankan/contro/Interceptor/SignVerificationAspect.java

@@ -36,6 +36,8 @@ public class SignVerificationAspect {
 
 	@Value("${ucenter.publicKey}")
 	private String publicKey;
+	@Value("${ucenter.appId}")
+	private String ucenterAppId;
 
 	@Value("${fdService.basePath}")
 	private String fdServiceBasePath;
@@ -63,12 +65,12 @@ public class SignVerificationAspect {
 		Instant now = Instant.now();
 		long epochSecond = now.getEpochSecond();
 		JSONObject playload = new JSONObject();
-		playload.put("appId", "ucenter");
+		playload.put("appId", ucenterAppId);
 		playload.put("timestamp", epochSecond);
 		String ucenterSign = RsaUtils.encipher(playload.toJSONString(), publicKey);
 		Map<String, String> headerMap = new HashMap<>();
 		headerMap.put("sign", ucenterSign);
-		headerMap.put("appId", "ucenter");
+		headerMap.put("appId", ucenterAppId);
 		String url = fdServiceBasePath + GET_PRIVATEKEY_API + appId;
 		Result result = myClient.get(url, headerMap);
 		if(result.getCode() != ServerCode.SUCCESS.code()){