2017-01-17 13 views
0

私は、Windowsサービス "A"を認証目的(私たちによって管理されていない)に使用していますが、私はSpringブートベースのREST APIサービス "B" Zuulを使用してトラフィックをルーティングします。 REST APIを使用してWindowsサービスと通信する必要がある外部サービス "C"(私たちによって管理されていない)があります。 "A"はNTLM認証を使用しているので、 "C"から要求本体を渡し、 "B"のヘッダーにntlm資格情報を追加し、zuulを使用してトラフィックをルーティングする必要があります。NTLMの資格情報をzuulリクエストヘッダーに渡す方法

私の質問は、JavaのNTLM資格情報をzuulヘッダーのルーテッドトラフィックにどのように追加するのですか?

〜あなたがZuulFilterあなた自身を記述する必要がJatin

答えて

0

。あなたのアプリで

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(); 
    } 

} 

は、詳細はthis guideを見てください。

関連する問題