私はspring-security-oauthによって開始されたhttps要求を追跡するためにspring-cloud-sleuthを使用しようとしています。spring-security-oauth活動を追跡するためにspring-cloud-sleuthを使用するにはどうすればよいですか?
しかし、私は、spring-security-oauthフィルタOAuth2AuthenticationProcessingFilterがspring-cloud-sleuthフィルタTraceFilterの前に実行されていることに固執しています。
spring-security-oauthフィルタの前にspring-cloud-sleuthフィルタが処理されるようにこれを変更できますか?
バージョン情報:
- 春ブート:1.3.5
- 春クラウド:Brixton.SR3
- 春-クラウド探偵:1.0.3
- 春 - セキュリティのOAuth2私は、pを解決できるの下の提案に基づいて :2.0.9
更新私自身のFilterRegistrationBeanを定義することによってroblem:
@Inject
TraceFilter traceFilter;
@Bean
public FilterRegistrationBean myTraceFilter() {
LOG.info("Register a TraceFilter with HIGHEST_PRECEDENCE");
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(traceFilter, new ServletRegistrationBean[0]);
filterRegistrationBean.setDispatcherTypes(ASYNC, new DispatcherType[]{ERROR, FORWARD, INCLUDE, REQUEST});
filterRegistrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return filterRegistrationBean;
}
クイックレスポンスありがとう! はあなたのようなFilterRegistrationBeanを使用して意味ですか: @Bean 公共FilterRegistrationBean getSleuthTraceFilterRegistrationBean(){ FilterRegistrationBean豆=新しいFilterRegistrationBean(); bean.setFilter(new TraceFilter(...)); bean.setOrder(1); bean.addUrlPatterns( "/"); return bean; } しかし、どのようにTraceFilterを作成するのですか?そのコンストラクタには、多くの詳細が必要です:-) TraceFilterを登録する簡単な方法がありませんでしたか? –
乱雑なコメントにごめんなさい! 'FilterRegistrationBean'を使うことを意味しますか?しかし、 'TraceFilter'オブジェクトを作成するにはどうすればいいですか?そのコンストラクタは多くの詳細を必要とします... TraceFilterを登録する簡単な方法はありますか? –
ここには登録を担当する2つのBeanがあります - https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/java/org/私はそれが正常に動作するかどうかは分かりませんが、明らかにBeanを再利用して同じ方法で上位のものを登録しようとします。 'TraceFilter'はすでにBeanです - あなたはそれを挿入することができます。 –