diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java b/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java index 79d58daf..ea77c8d4 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java @@ -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); } }