feat(REQ-2040): 代码调整
This commit is contained in:
parent
86d7501f01
commit
dd9fd06516
@ -1,9 +1,7 @@
|
||||
package cn.axzo.nanopart.api;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.nanopart.api.annotation.CheckSign;
|
||||
import cn.axzo.nanopart.api.constant.enums.ListTypeEnum;
|
||||
import cn.axzo.nanopart.api.request.BlackAndWhiteListExcelImportReq;
|
||||
import cn.axzo.nanopart.api.request.BlackAndWhiteListInternalSyncReq;
|
||||
import cn.axzo.nanopart.api.request.BlackAndWhiteListPlatformSyncReq;
|
||||
import cn.axzo.nanopart.api.request.BlackAndWhiteListReq;
|
||||
@ -16,13 +14,11 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RequestPart;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -117,7 +113,6 @@ public interface BlackAndWhiteListApi {
|
||||
* @param req @{link BlackAndWhiteListInternalSyncReq}
|
||||
* @return 同步结果,成功返回同步记录总数
|
||||
*/
|
||||
@CheckSign
|
||||
@PostMapping("api/black-white-list/inner-sync")
|
||||
ApiResult<Long> internalSync(@RequestBody @Validated BlackAndWhiteListInternalSyncReq req);
|
||||
}
|
||||
|
||||
@ -5,23 +5,23 @@ import cn.axzo.framework.domain.web.code.RespCode;
|
||||
import cn.axzo.nanopart.api.annotation.CheckSign;
|
||||
import cn.axzo.nanopart.api.config.SignManager;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.Signature;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Before;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Collections;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Objects;
|
||||
@ -35,64 +35,26 @@ import java.util.Objects;
|
||||
@Aspect
|
||||
@Order(1)
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class CheckSignAspect {
|
||||
|
||||
@Resource
|
||||
private SignManager signManager;
|
||||
private final SignManager signManager;
|
||||
|
||||
@Pointcut(value = "@annotation(org.springframework.web.bind.annotation.RequestMapping)")
|
||||
public void requestMapping() {
|
||||
@Pointcut(value = "@annotation(cn.axzo.nanopart.api.annotation.CheckSign)")
|
||||
public void checkSign() {
|
||||
}
|
||||
|
||||
@Pointcut(value = "@annotation(org.springframework.web.bind.annotation.PostMapping)")
|
||||
public void postMapping() {
|
||||
log.info("post");
|
||||
}
|
||||
|
||||
@Pointcut(value = "@annotation(org.springframework.web.bind.annotation.GetMapping)")
|
||||
public void getMapping() {
|
||||
}
|
||||
|
||||
@Pointcut(value = "@annotation(org.springframework.web.bind.annotation.PutMapping)")
|
||||
public void putMapping() {
|
||||
}
|
||||
|
||||
@Pointcut(value = "@annotation(org.springframework.web.bind.annotation.DeleteMapping)")
|
||||
public void deleteMapping() {
|
||||
}
|
||||
|
||||
@Pointcut(value = "@annotation(org.springframework.web.bind.annotation.PatchMapping)")
|
||||
public void patchMapping() {
|
||||
}
|
||||
|
||||
@Pointcut("requestMapping() || postMapping() || getMapping() || putMapping() || deleteMapping()|| patchMapping()")
|
||||
public void mappingAnnotations() {
|
||||
}
|
||||
|
||||
// @Pointcut(value = "@annotation(cn.axzo.nanopart.api.annotation.CheckSign)")
|
||||
// public void checkSign() {
|
||||
// }
|
||||
|
||||
/**
|
||||
* 切入含有@CheckSign && @RestController 注解的类
|
||||
*/
|
||||
@Before(value = "@within(checkSign) && @within(restController)", argNames = "joinPoint,checkSign,restController")
|
||||
public void classHandler(JoinPoint joinPoint, CheckSign checkSign, RestController restController) {
|
||||
handle(joinPoint, checkSign);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切入含有@checkSign && @RequestMapping/@PostMapping/@GetMapping/@PutMapping/@DeleteMapping/@PatchMapping 之一注解的方法
|
||||
*/
|
||||
@Before(value = "@annotation(checkSign) && mappingAnnotations()")
|
||||
public void methodHandler(JoinPoint joinPoint, CheckSign checkSign) {
|
||||
handle(joinPoint, checkSign);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
public void handle(JoinPoint joinPoint, CheckSign checkSign) {
|
||||
// 验签
|
||||
verifySignature(checkSign);
|
||||
@Before("checkSign()")
|
||||
public void verifySignature(JoinPoint joinPoint) {
|
||||
Signature signature = joinPoint.getSignature();
|
||||
MethodSignature methodSignature = (MethodSignature) signature;
|
||||
Method method = methodSignature.getMethod();
|
||||
CheckSign authorizeAnnotation = method.getAnnotation(CheckSign.class);
|
||||
log.info("before......");
|
||||
verifySignature(authorizeAnnotation);
|
||||
}
|
||||
|
||||
private void verifySignature(CheckSign checkSign) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user