【问题标题】:How to use spring-cloud-sleuth to trace spring-security-oauth activities?如何使用 spring-cloud-sleuth 来跟踪 spring-security-oauth 活动?
【发布时间】: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


    【解决方案1】:

    您可以自己注册 TraceFilter 并手动提供订单。试着把它放在弹簧安全过滤器之前。如果一切正常,您可以提交一个 PR / issue 描述整个流程,以便我们继续讨论。

    【讨论】:

    • 感谢您的快速回复!你的意思是使用像这样的FilterRegistrationBean:@Bean public FilterRegistrationBean getSleuthTraceFilterRegistrationBean() { FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new TraceFilter(...)); bean.setOrder(1); bean.addUrlPatterns("/");回豆;但是我如何创建 TraceFilter,它的构造函数需要很多我不知道如何填写的细节:-) 或者我错过了其他一些更简单的方法来注册 TraceFilter?
    • 抱歉评论乱七八糟!你的意思是使用FilterRegistrationBean?但是如何创建TraceFilter-object?它的构造函数需要很多细节......或者有没有更简单的方法来注册 TraceFilter?
    • 这里有 2 个 bean 负责注册 - github.com/spring-cloud/spring-cloud-sleuth/blob/master/… 我不确定它是否能正常工作,但您显然可以重用 bean 并尝试在同样的方法。 TraceFilter 已经是一个 bean - 你可以注入它。
    • 非常感谢!根据您的建议,我已经用一个可行的解决方案更新了我上面的问题。
    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2018-12-06
    • 2021-04-27
    • 2021-09-06
    • 2020-05-28
    相关资源
    最近更新 更多