加密问题
This commit is contained in:
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user