From 7eaec0ffc14e84a9f03e09a9a9335a7bf537e22d Mon Sep 17 00:00:00 2001 From: liuh Date: Thu, 3 Mar 2022 10:16:06 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81feign=E9=85=8D=E7=BD=AE=E6=8E=92?= =?UTF-8?q?=E9=99=A4=E5=81=A5=E5=BA=B7=E6=A3=80=E6=9F=A5=E3=80=81prometheu?= =?UTF-8?q?s=202=E3=80=81user=E6=A0=A1=E9=AA=8C=E6=97=A5=E5=BF=97=E7=BA=A7?= =?UTF-8?q?=E5=88=AB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/security/starter/common/Constants.java | 2 ++ .../starter/filter/TokenAuthenticationFilter.java | 12 ++++++------ .../starter/service/impl/UserInfoServiceImpl.java | 2 +- .../mall/ebtp/common/config/FeignConfig.java | 8 ++++---- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/common/Constants.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/common/Constants.java index 8e7789a..4234885 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/common/Constants.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/common/Constants.java @@ -13,4 +13,6 @@ public interface Constants { public static final String TOKEN_EXPIRED = "90401"; public static final String REMOTE_ACCESS_FAILURE = "90500"; + String ACTUATOR_HEALTH = "actuator/health"; + String ACTUATOR_PROMETHEUS = "actuator/prometheus"; } diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java index 5f29b6a..d7b7d90 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java @@ -57,7 +57,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { final FilterChain filterChain) throws ServletException, IOException { String api = request.getRequestURI(); String method = request.getMethod(); - if (!StringUtils.contains(api, "actuator/prometheus")) { + if (!StringUtils.contains(api, ACTUATOR_PROMETHEUS)) { log.info("--------" + method + " - " + api + "?" + Optional.ofNullable(request.getQueryString()).orElse("")); } // 清空上下文中的缓存信息, 防止二次请求时数据异常 (如此, 每次有新的请求进入,都会进行token的验证) @@ -87,8 +87,8 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { .findFirst()); if (optionalCookie.isPresent()) { setAuthentication(currentRoleCode, optionalCookie.get().getValue(), isWhite); - } else { - log.warn("cookie中没有token信息"); + } else if (!api.contains(ACTUATOR_HEALTH) && !api.contains(ACTUATOR_PROMETHEUS)) { + log.warn("cookie中没有token信息:{}",api); } } @@ -109,8 +109,8 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { private boolean checkWhiteList(String method, String methodType) { return Optional.ofNullable(allows.getApis()).orElseGet(ArrayList::new) .parallelStream().anyMatch(reg -> Pattern.compile(reg).matcher(methodType + "." + method).matches()) - || method.contains("actuator/health") //服务的就绪检测 - || method.contains("actuator/prometheus"); //prometheus检测 + || method.contains(ACTUATOR_HEALTH) //服务的就绪检测 + || method.contains(ACTUATOR_PROMETHEUS); //prometheus检测 } @@ -133,7 +133,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { private Authentication getAuthentication(final String token, final String currentRoleCode, final boolean isWhite) { BaseCacheUser userInfo = client.getUserInfo(token); - log.info("getUserInfo:{}",userInfo.toString()); + log.debug("getUserInfo:{}",userInfo.toString()); // 对象为空, 则说明网络异常feign已熔断 if (Objects.isNull(userInfo)) { if (!isWhite) { diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/userinfo/starter/service/impl/UserInfoServiceImpl.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/userinfo/starter/service/impl/UserInfoServiceImpl.java index 10c6b5e..0a1d0df 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/userinfo/starter/service/impl/UserInfoServiceImpl.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/cloud/userinfo/starter/service/impl/UserInfoServiceImpl.java @@ -41,7 +41,7 @@ public class UserInfoServiceImpl implements UserInfoService { * @return */ private BaseCacheUser convertToBusinessModel(SecurityEntity raw) { - log.info("userinfo: {}", raw); + log.debug("userinfo: {}", raw); // 对象为空, 则说明网络异常feign已熔断 if (Objects.isNull(raw)) { throw new RemoteTimeoutException(REMOTE_ACCESS_FAILURE); diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java index 58ee13e..f59c0ca 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java @@ -53,7 +53,7 @@ public class FeignConfig implements RequestInterceptor { public void apply(RequestTemplate template) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); log.info("--------feign url- " + template.url()); - + String method = template.method(); if (Objects.nonNull(attributes)) { if (isNonExistsWhiteList(template.url())) { injectToken(template, attributes); @@ -65,9 +65,9 @@ public class FeignConfig implements RequestInterceptor { template.removeHeader(CURRENT_ROLE_CODE); template.header(CURRENT_ROLE_CODE, currentRoleCode); } - } { + } else if (!method.contains(ACTUATOR_HEALTH) && !method.contains(ACTUATOR_PROMETHEUS)) { String accessToken = getAccessToken(); - log.info("token=======accessToken===" + accessToken); + log.info("attributes is null=======accessToken===" + accessToken); template.header(HttpHeaders.AUTHORIZATION, String.format("%s%s", TOKEN_PREFIX, accessToken)); } } @@ -115,7 +115,7 @@ public class FeignConfig implements RequestInterceptor { template.header(AUTHORIZATION_HEADER, String.format("%s%s", TOKEN_PREFIX, authToken)); } else { String accessToken = getAccessToken(); - log.info("token=======accessToken==="+accessToken); + log.info("no Token no Cookie=======accessToken==="+accessToken); template.header(HttpHeaders.AUTHORIZATION,String.format("%s%s", TOKEN_PREFIX, accessToken)); } }