基本身份验证服务,名为By Zuul

you*_*ene 2 spring-security spring-cloud netflix-zuul

我是Zuul作为边缘服务器.所有请求都通过此边缘服务器传递.我有一个微服务A.A的所有Web服务都受基本身份验证保护.我们如何通过Zuul代理调用A b的服务?我应该为邮件添加标题吗?

you*_*ene 8

这是我的Zuul过滤器:

public class BasicAuthorizationHeaderFilter extends ZuulFilter {


@Override
public String filterType() {
    return "pre";
}

@Override
public int filterOrder() {
    return 10;
}

@Override
public boolean shouldFilter() {
    return true;
}

@Override
public Object run() {

    RequestContext ctx = RequestContext.getCurrentContext();
    ctx.getRequest().getRequestURL();
    ctx.addZuulRequestHeader("Authorization", "Basic " + Utils.getBase64Credentials("user", "Token"));
    return null;
}

}
Run Code Online (Sandbox Code Playgroud)


小智 6

理想情况下,请求者将在请求中拥有令牌.
如果你想让Zuul添加身份验证令牌,那么你可以创建一个ZuulFilter并使用:

context.addZuulRequestHeader("Authorization", "base64encodedTokenHere");
Run Code Online (Sandbox Code Playgroud)

这样做可以提供对服务的开放访问 - 这可能并不明智.