Basic Authentication service called By Zuul

后端 未结 6 787
闹比i
闹比i 2021-01-14 23:33

I\'m Zuul as edge server. so all request pass by this edge server. I have a micro-service A. all web services of A are protected by Basic Authentication. How can we call the

6条回答
  •  萌比男神i
    2021-01-15 00:16

    @Component
    public class PreFilter extends ZuulFilter {
    private static final Logger LOG = LoggerFactory.getLogger(PreFilter.class);
    
    @Override
    public String filterType() {
        return "pre";
    }
    
    @Override
    public int filterOrder() {
        return 1;
    }
    
    @Override
    public boolean shouldFilter() {
        return true;
    }
    
    @Override
    public Object run() {
        RequestContext ctx = RequestContext.getCurrentContext();
        HttpServletRequest request = ctx.getRequest();
        ctx.addZuulRequestHeader("Authorization", request.getHeader("Authorization"));
    
        LOG.info("Parametres : {}", request.getParameterMap()
                .entrySet()
                .stream()
                .map(e -> e.getKey() + "=" + Stream.of(e.getValue()).collect(Collectors.toList()))
                .collect(Collectors.toList()));
        LOG.info("Headers : {}", "Authorization" + "=" + request.getHeader("Authorization"));
        LOG.info(String.format("%s request to %s", request.getMethod(), request.getRequestURL().toString()));
        return null;
        }
    }
    

提交回复
热议问题