私は、Javaのシリーズを愛する--- [マイクロサービス間の認証-Feignインターセプター]

1.feign利用シナリオ

注:装うインターセプタの目的はトークン転送することで、誰であるかの定義にインターセプタを装うための要求を開始した人。

2.次の手順を実行します。

(1)インターセプターを作成します

サービスインターセプタcom.changgou.interceptor.FeignInterceptorを作成し、次のようにヘッダに追加されたすべての第1の文書データは、再びマイクロサービス要求をふりChanggou_common。

@Component
 パブリック クラス FeignInterceptorが実装RequestInterceptor { 

    @Override 
    公共 ボイド適用(RequestTemplate requestTemplate){ 

        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes()を。

        もし(!requestAttributes = NULL ){ 

            HttpServletRequestのリクエスト = ((ServletRequestAttributes)requestAttributes).getRequest();
            もし(!リクエスト= NULL ){ 
                列挙の<string> headerNames = request.getHeaderNames()。
                もし(!headerNames = NULL ){
                     一方(headerNames.hasMoreElements()){ 
                        文字列のヘッダ名 = headerNames.nextElement()。
                        もし(headerName.equals( "許可" )){ 
                            文字列headerValueの = request.getHeader(ヘッダ名)。
                            requestTemplate.header(ヘッダ名、headerValueの); //核心代码 
                        } 
                    } 
                } 
            } 
        } 
        } 
}

2)(上記装う人にインターセプタを入れて、要求を開始した者装う)、changgou_order_webスタートアップクラスを変更インターセプター文を追加

@Bean
 公共FeignInterceptor feignInterceptor(){
     戻り 新しい)(FeignInterceptorします。
}

 

おすすめ

転載: www.cnblogs.com/hujunwei/p/11426005.html