From 3272a22417bd1d968ed3a92ebbbbe3b325a2a0bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Mon, 13 Mar 2023 11:43:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91OnlineInterceptor?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interceptor/OnlineInterceptor.java | 73 ++++++++++--------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/interceptor/OnlineInterceptor.java b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/interceptor/OnlineInterceptor.java index f950bb47..2bd2ce61 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/interceptor/OnlineInterceptor.java +++ b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/interceptor/OnlineInterceptor.java @@ -10,6 +10,7 @@ import com.jero.common.util.SpringContextUtils; import com.jero.common.util.oConvertUtils; import com.jero.generater.modules.online.cgform.service.IOnlineBaseAPI; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; @@ -18,6 +19,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.Objects; @Slf4j public class OnlineInterceptor implements HandlerInterceptor { @@ -36,52 +38,53 @@ public class OnlineInterceptor implements HandlerInterceptor { boolean bool = handler.getClass().isAssignableFrom(HandlerMethod.class); - if (bool) { + if (!bool) { + return true; + } - OnlineAuth onlineAuth = ((HandlerMethod) handler).getMethodAnnotation(OnlineAuth.class); + OnlineAuth onlineAuth = ((HandlerMethod) handler).getMethodAnnotation(OnlineAuth.class); + if(Objects.isNull(onlineAuth)){ + return true; + } + log.debug("===== online 菜单访问拦截器 ====="); + String str1 = request.getRequestURI().substring(request.getContextPath().length()); + str1 = a(str1); + String str2 = onlineAuth.value(); + String str3 = str1.substring(str1.lastIndexOf(str2) + str2.length()); + log.debug("拦截请求(" + request.getMethod() + "):" + str1 + ","); - if (onlineAuth != null) { - log.debug("===== online 菜单访问拦截器 ====="); - String str1 = request.getRequestURI().substring(request.getContextPath().length()); - str1 = a(str1); - String str2 = onlineAuth.value(); - String str3 = str1.substring(str1.lastIndexOf(str2) + str2.length()); - log.debug("拦截请求(" + request.getMethod() + "):" + str1 + ","); + if ("form".equals(str2) && "DELETE".equals(request.getMethod())) { + str3 = str3.substring(0, str3.lastIndexOf("/")); + } - if ("form".equals(str2) && "DELETE".equals(request.getMethod())) { - str3 = str3.substring(0, str3.lastIndexOf("/")); - } + String str4 = request.getParameter("tabletype"); + if (this.iOnlineBaseAPI == null) { + this.iOnlineBaseAPI = SpringContextUtils.getBean(IOnlineBaseAPI.class); + } + str3 = this.iOnlineBaseAPI.getOnlineErpCode(str3, str4); - String str4 = request.getParameter("tabletype"); - if (this.iOnlineBaseAPI == null) { - this.iOnlineBaseAPI = SpringContextUtils.getBean(IOnlineBaseAPI.class); - } - str3 = this.iOnlineBaseAPI.getOnlineErpCode(str3, str4); + ArrayList arrayList = new ArrayList<>(); - ArrayList arrayList = new ArrayList<>(); + for (String str : ONLINE_CONSTANT) { - for (String str : ONLINE_CONSTANT) { + arrayList.add(str + str3); + } - arrayList.add(str + str3); - } + if (this.sysBaseAPI == null) { - if (this.sysBaseAPI == null) { + this.sysBaseAPI = SpringContextUtils.getBean(ISysBaseAPI.class); + } - this.sysBaseAPI = SpringContextUtils.getBean(ISysBaseAPI.class); - } + String str5 = JwtUtil.getUserNameByToken(request); - String str5 = JwtUtil.getUserNameByToken(request); + OnlineAuthDTO onlineAuthDTO = new OnlineAuthDTO(str5, arrayList, CG_FORM_CONSTANT); - OnlineAuthDTO onlineAuthDTO = new OnlineAuthDTO(str5, arrayList, CG_FORM_CONSTANT); + boolean bool1 = this.sysBaseAPI.hasOnlineAuth(onlineAuthDTO); - boolean bool1 = this.sysBaseAPI.hasOnlineAuth(onlineAuthDTO); - - if (!bool1) { - log.info("请求无权限(" + request.getMethod() + "):" + str1); - a(response, str2); - return false; - } - } + if (!bool1) { + log.info("请求无权限(" + request.getMethod() + "):" + str1); + a(response, str2); + return false; } return true; } @@ -108,7 +111,7 @@ public class OnlineInterceptor implements HandlerInterceptor { if ("exportXls".equals(paramString)) { printWriter.print(""); } else { - Result result = Result.error("无权限访问(操作)"); + Result result = Result.error("无权限访问(操作)"); printWriter.print(JSON.toJSON(result)); } } catch (IOException iOException) {