Java 如何将NTLM凭据传递到zuul请求头
我有一个用于身份验证目的的Windows服务“a”(不由我们管理),还有一个基于Spring boot的REST Api服务“B”(由我们管理),它使用Zuul来路由流量。有一个外部服务“C”(不由我们管理),它需要通过我们的RESTAPI与Windows服务对话。由于“A”使用NTLM身份验证,我们需要从“C”传递请求主体,并在“B”的头中添加NTLM凭据,并使用zuul路由流量 我的问题是,如何将Java中的NTLM凭据添加到zuul头中的路由流量中Java 如何将NTLM凭据传递到zuul请求头,java,rest,spring-boot,ntlm,netflix-zuul,Java,Rest,Spring Boot,Ntlm,Netflix Zuul,我有一个用于身份验证目的的Windows服务“a”(不由我们管理),还有一个基于Spring boot的REST Api服务“B”(由我们管理),它使用Zuul来路由流量。有一个外部服务“C”(不由我们管理),它需要通过我们的RESTAPI与Windows服务对话。由于“A”使用NTLM身份验证,我们需要从“C”传递请求主体,并在“B”的头中添加NTLM凭据,并使用zuul路由流量 我的问题是,如何将Java中的NTLM凭据添加到zuul头中的路由流量中 ~Jatin你需要自己写 类似于 imp
~Jatin你需要自己写 类似于
import javax.servlet.http.HttpServletRequest;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.ZuulFilter;
public class MyFilter extends ZuulFilter {
@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();
// now add your headers to the request
return null;
}
}
在您的应用程序中,只需确保过滤器bean已创建并将自动注册:
@EnableZuulProxy
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
@Bean
public MyFilter myFilter() {
return new MyFilter();
}
}
查看更多信息。Zuul可以很好地配合春季课程。有很多关于这方面的博客