记得上下班打卡 | git大法好,push需谨慎

Commit 69d399c5 authored by 张国柄's avatar 张国柄

开启全局AUTHORIZATION TOKEN验证;

parent 446fa48e
...@@ -96,6 +96,7 @@ global: ...@@ -96,6 +96,7 @@ global:
/adam/login/mobile, /adam/login/mobile,
/adam/login/tpa, /adam/login/tpa,
/adam/send /adam/send
url-pattern: /kylin/*
# ----------------------------------------------------------- # -----------------------------------------------------------
#解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service #解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service
#这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。 #这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。
......
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CurrentUtil; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.support.zuul.util.PathMatchUtil;
import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.context.RequestContext;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
...@@ -26,7 +27,9 @@ import java.util.List; ...@@ -26,7 +27,9 @@ import java.util.List;
@Component @Component
public class GlobalAuthFilter extends ZuulFilter { public class GlobalAuthFilter extends ZuulFilter {
@Value("#{'${global.exclude.url}'.split(', ')}") @Value("#{'${global.exclude.url}'.split(', ')}")
private List<String> excludeUrls; private List<String> excludeUrl;
@Value("#{'${global.exclude.url-pattern}'.split(', ')}")
private List<String> excludeUrlPattern;
private static final String CONTENT_TYPE = "application/json;charset=utf-8"; private static final String CONTENT_TYPE = "application/json;charset=utf-8";
private static final String AUTHORIZATION = "authorization"; private static final String AUTHORIZATION = "authorization";
private static final String TOKEN_ILLEGAL = "40001"; private static final String TOKEN_ILLEGAL = "40001";
...@@ -52,8 +55,14 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -52,8 +55,14 @@ public class GlobalAuthFilter extends ZuulFilter {
public boolean shouldFilter() { public boolean shouldFilter() {
RequestContext ctx = RequestContext.getCurrentContext(); RequestContext ctx = RequestContext.getCurrentContext();
String requestURI = ctx.getRequest().getRequestURI(); String requestURI = ctx.getRequest().getRequestURI();
// return !excludeUrls.contains(requestURI);
return false; if (excludeUrl.contains(requestURI)) {
return false;
}
for (String urlPattern : excludeUrlPattern) {
return !PathMatchUtil.isPathMatch(urlPattern, requestURI);
}
return true;
} }
@Override @Override
......
...@@ -5,7 +5,6 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -5,7 +5,6 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamThirdPartParam; import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo; import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.feign.adam.api.FeignAdamLoginClient; import com.liquidnet.service.feign.adam.api.FeignAdamLoginClient;
import com.liquidnet.support.zuul.util.PathMatchUtil;
import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.context.RequestContext;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -22,7 +21,7 @@ import java.util.stream.Collectors; ...@@ -22,7 +21,7 @@ import java.util.stream.Collectors;
@Component @Component
public class GlobalLoginFilter extends ZuulFilter { public class GlobalLoginFilter extends ZuulFilter {
@Value("#{'${global.login.url}'.split(', ')}") @Value("#{'${global.login.url}'.split(', ')}")
private List<String> loginUrls; private List<String> loginUrl;
@Autowired @Autowired
FeignAdamLoginClient feignAdamLoginClient; FeignAdamLoginClient feignAdamLoginClient;
...@@ -40,13 +39,7 @@ public class GlobalLoginFilter extends ZuulFilter { ...@@ -40,13 +39,7 @@ public class GlobalLoginFilter extends ZuulFilter {
@Override @Override
public boolean shouldFilter() { public boolean shouldFilter() {
RequestContext ctx = RequestContext.getCurrentContext(); RequestContext ctx = RequestContext.getCurrentContext();
String requestURI = ctx.getRequest().getRequestURI(); return loginUrl.contains(ctx.getRequest().getRequestURI());
// for (String url : loginUrls) {
// if (PathMatchUtil.isPathMatch(url, requestURI)) {
// return true;
// }
// }
return false;
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment