From b771d62db31bb113aff6db1be958ca83d591212f Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期六, 11 五月 2024 11:58:44 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit --- server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java | 65 +++++++++++++++++--------------- 1 files changed, 35 insertions(+), 30 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java index 0228c3a..f06ee51 100644 --- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java +++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java @@ -32,46 +32,51 @@ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - HandlerMethod handlerMethod = (HandlerMethod) handler; - Class<?> beanType = handlerMethod.getBeanType(); - if (!beanType.isAnnotationPresent(LoginNoRequired.class) && !handlerMethod.hasMethodAnnotation(LoginNoRequired.class)) { - //鑾峰彇token - Cookie[] cookies = request.getCookies(); - String token = request.getHeader(Constants.HEADER_USER_TOKEN); // 浠� http 璇锋眰澶翠腑鍙栧嚭 token - if(StringUtils.isBlank(token)){ - for(Cookie c :cookies){ - if(StringUtils.equals(c.getName(),Constants.HEADER_USER_TOKEN)){ - token = c.getValue(); + if(handler instanceof HandlerMethod){ + HandlerMethod handlerMethod = (HandlerMethod) handler; + Class<?> beanType = handlerMethod.getBeanType(); + if (!beanType.isAnnotationPresent(LoginNoRequired.class) && !handlerMethod.hasMethodAnnotation(LoginNoRequired.class)) { + //鑾峰彇token + Cookie[] cookies = request.getCookies(); + String token = request.getHeader(Constants.HEADER_USER_TOKEN); // 浠� http 璇锋眰澶翠腑鍙栧嚭 token + if(StringUtils.isBlank(token)){ + for(Cookie c :cookies){ + if(StringUtils.equals(c.getName(),Constants.HEADER_USER_TOKEN)){ + token = c.getValue(); + } } } - } - if (StringUtils.isNotBlank(token)) { - LoginUserInfo user = checkLogin(token); - if (handlerMethod.hasMethodAnnotation(CloudRequiredPermission.class)) { - CloudRequiredPermission p = handlerMethod.getMethodAnnotation(CloudRequiredPermission.class); - if(p.value()!=null && p.value().length>0){ - boolean hasPermission = false; - for(String s :p.value()){ - if(user.getPermissions()!=null){ - for(String t :user.getPermissions()){ - if(StringUtils.equals(t,s)){ - hasPermission = true; - break; + if (StringUtils.isNotBlank(token)) { + LoginUserInfo user = checkLogin(token); + if (handlerMethod.hasMethodAnnotation(CloudRequiredPermission.class)) { + CloudRequiredPermission p = handlerMethod.getMethodAnnotation(CloudRequiredPermission.class); + if(p.value()!=null && p.value().length>0){ + boolean hasPermission = false; + for(String s :p.value()){ + if(user.getPermissions()!=null){ + for(String t :user.getPermissions()){ + if(StringUtils.equals(t,s)){ + hasPermission = true; + break; + } } } } + if(!hasPermission) { + //娌℃湁鎿嶄綔鏉冮檺 + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"娌℃湁璇ユ搷浣滄潈闄�"); + } } - if(!hasPermission) { - //娌℃湁鎿嶄綔鏉冮檺 - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"娌℃湁璇ユ搷浣滄潈闄�"); - } - } + } + } else { + throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�"); } - } else { - throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�"); } + }else{ + throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�"); } + return true; } -- Gitblit v1.9.3