我正在尝试使用 spring-cloud-sleuth 来跟踪由 spring-security-oauth 发起的 https 请求。
但我坚持认为 spring-security-oauth 过滤器 OAuth2AuthenticationProcessingFilter 在 spring-cloud-sleuth 过滤器 TraceFilter 之前执行。
可以更改此设置,以便在 spring-security-oauth 过滤器之前处理 spring-cloud-sleuth 过滤器吗?
版本信息:
- 弹簧启动:1.3.5
- 弹簧云:Brixton.SR3
- 春天云侦探:1.0.3
- spring-security-oauth2:2.0.9
更新: 根据下面的建议,我可以通过将自己的 FilterRegistrationBean 定义为:
@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;
}