【发布时间】:2017-06-08 01:10:54
【问题描述】:
我正在尝试使用 spring-cloud-sleuth 来跟踪 spring-security-oauth 发起的 https 请求。
但我坚持认为 spring-security-oauth 过滤器 OAuth2AuthenticationProcessingFilter 在 spring-cloud-sleuth 过滤器 TraceFilter 之前执行。
是否可以更改此设置,以便在 spring-security-oauth 过滤器之前处理 spring-cloud-sleuth 过滤器?
版本信息:
- 弹簧启动:1.3.5
- spring-cloud: Brixton.SR3
- spring-cloud-sleuth: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;
}
【问题讨论】:
标签: spring-security-oauth2 spring-cloud-sleuth