加密问题

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