加密问题

This commit is contained in:
2025-07-22 19:25:31 +08:00
parent fe7a195362
commit e89c99d2ca

View File

@ -35,9 +35,15 @@ public class CryptoFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
// 获取加密注解
ApiEncrypt apiEncrypt = this.getApiEncryptAnnotation(servletRequest);
boolean responseFlag = apiEncrypt != null && apiEncrypt.response();
boolean responseFlag = true;
if ("OPTIONS".equalsIgnoreCase(servletRequest.getMethod())) {
// 是预检请求就直接返回不走响应加密
responseFlag = false;
}
// // 获取加密注解
// ApiEncrypt apiEncrypt = this.getApiEncryptAnnotation(servletRequest);
// boolean responseFlag = apiEncrypt != null && apiEncrypt.response();
ServletRequest requestWrapper = null;
ServletResponse responseWrapper = null;
EncryptResponseBodyWrapper responseBodyWrapper = null;
@ -50,14 +56,15 @@ public class CryptoFilter implements Filter {
// 请求解密
requestWrapper = new DecryptRequestBodyWrapper(servletRequest, properties.getPrivateKey(), properties.getHeaderFlag());
} else {
// 是否有注解,有就报错,没有放行
if (ObjectUtil.isNotNull(apiEncrypt)) {
HandlerExceptionResolver exceptionResolver = SpringUtils.getBean("handlerExceptionResolver", HandlerExceptionResolver.class);
exceptionResolver.resolveException(
servletRequest, servletResponse, null,
new ServiceException("没有访问权限,请联系管理员授权", HttpStatus.FORBIDDEN));
return;
}
// // 是否有注解,有就报错,没有放行
// if (ObjectUtil.isNotNull(apiEncrypt)) {
// HandlerExceptionResolver exceptionResolver = SpringUtils.getBean("handlerExceptionResolver", HandlerExceptionResolver.class);
// exceptionResolver.resolveException(
// servletRequest, servletResponse, null,
// new ServiceException("没有访问权限,请联系管理员授权", HttpStatus.FORBIDDEN));
// return;
// }
throw new ServiceException("无权访问接口", HttpStatus.BAD_METHOD);
}
}