【问题标题】:Can I use two interceptors on same spring boot application?我可以在同一个 Spring Boot 应用程序上使用两个拦截器吗?
【发布时间】:2019-07-26 14:19:43
【问题描述】:

我有一个包含两个不同仪表板的 Spring Boot 应用程序,因此每个用户只能访问一个。实际上,我有一个拦截器可以保护一个仪表板,但第二个仪表板需要另一个拦截器。这可能吗?

这是我的配置类:

@Configuration
public class SecurityConfiguration implements WebMvcConfigurer{

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new AutorizadorInterceptorEscola());
    }
}

我需要添加另一个拦截器来保护第二个仪表板。

【问题讨论】:

  • 为什么不给registry.addInterceptor()打两次电话?
  • 试一试可能需要几分钟。是什么让我们相信这是可能的?该方法的名称是addInterceptors,它是复数形式,它们被添加到拦截器注册表中,这会让人们相信这是可能的。即使它没有记录在 Spring Boot 参考中,而该参考又指向 Spring MVC 文档——两次单击即可将您带到 docs.spring.io/spring/docs/5.1.8.RELEASE/…

标签: java spring spring-boot interceptor


【解决方案1】:

使用 WebMvcConfigurerAdapter 扩展创建配置类

@Override
public void addInterceptors(InterceptorRegistry registry) {
     registry.addInterceptor(new GuestInterceptor());
     registry.addInterceptor(new AdminInterceptor());
}

【讨论】:

    猜你喜欢
    • 2019-09-12
    • 2017-09-19
    • 2020-05-17
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 2017-12-13
    • 2020-01-31
    • 2018-08-09
    相关资源
    最近更新 更多