From 330d54b0e9f9c54308d5efe3fdba56ff9d7269f1 Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Fri, 12 Mar 2021 17:24:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=9C=8D=E5=8A=A1=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=A4=9A=E7=8E=AF=E5=A2=83=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filter/TokenAuthenticationFilter.java | 23 ++++++++++++++++--- .../security-configuration.properties | 4 +++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java index 97336ea..46594db 100644 --- a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.servlet.FilterChain; import javax.servlet.ServletException; @@ -13,7 +14,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.RegExUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.ApplicationContext; +import org.springframework.core.env.Environment; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -39,7 +41,9 @@ import lombok.extern.slf4j.Slf4j; public class TokenAuthenticationFilter extends OncePerRequestFilter { private @Autowired RestTemplate restTemplate; - private @Value("${user.auth.resource.userinfo}") String token_uri; + private @Autowired ApplicationContext context; + + private final String token_url_config_format = "user.auth.resource.userinfo.%s"; /** * @param request @@ -83,7 +87,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { // 设置安全头 headers.add(HttpHeaders.AUTHORIZATION, String.format("Bearer %s", token)); - ResponseEntity entity = restTemplate.exchange(token_uri, HttpMethod.GET, + ResponseEntity entity = restTemplate.exchange(getTokenURI(), HttpMethod.GET, new HttpEntity(headers), SecurityUser.class); SecurityUser securityUser = entity.getBody(); @@ -97,4 +101,17 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { authorities); } + /** + * 用户信息接口地址 + * + * @return + */ + private String getTokenURI() { + Environment env = context.getEnvironment(); + + String config = Stream.of(env.getActiveProfiles()).findFirst().map(first -> first).orElseGet(() -> "default"); + + return env.getProperty(String.format(token_url_config_format, config)); + } + } diff --git a/mall-ebtp-cloud-security-starter/src/main/resources/security-configuration.properties b/mall-ebtp-cloud-security-starter/src/main/resources/security-configuration.properties index ee425c2..d037b2b 100644 --- a/mall-ebtp-cloud-security-starter/src/main/resources/security-configuration.properties +++ b/mall-ebtp-cloud-security-starter/src/main/resources/security-configuration.properties @@ -1,2 +1,4 @@ -user.auth.resource.userinfo=http://10.242.31.158:8100/core-service-ebtp-userinfo/v1/userinfo/get +user.auth.resource.userinfo.default=http://10.242.31.158:8100/core-service-ebtp-userinfo/v1/userinfo/get +user.auth.resource.userinfo.uat=http://10.242.31.158:8100/core-service-ebtp-userinfo/v1/userinfo/get +user.auth.resource.userinfo.test=http://10.242.37.148:8100/core-service-ebtp-userinfo/v1/userinfo/get user.auth.csrf.disable=true \ No newline at end of file