首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >每个url的Spring Security过滤器顺序

每个url的Spring Security过滤器顺序
EN

Stack Overflow用户
提问于 2019-05-22 02:59:23
回答 1查看 65关注 0票数 0

我有两个过滤器来处理我的httpRequest并添加标题和数据。

我希望以特定的执行顺序应用我的过滤器。所以我试过了:

代码语言:javascript
复制
@Component
@Order(1)
public class FirstFilter implements Filter { //**** }

@Component
@Order(2)
public class SecondFilter implements Filter { //**** }

这个可以很好的工作。但是,我只想将此顺序应用于以(/api)开头的请求,而不是所有请求。所以@Order注释并没有做我想要做的事情..

我试过了:

代码语言:javascript
复制
@Override
protected void configure(HttpSecurity http) throws Exception {

http

        .antMatcher("/api/**")
        .addFilterAfter(new FirstFilter (), ChannelProcessingFilter.class)
        .addFilterAfter(new SecondtFilter (), FirstFilter .class)

这也可以,但是我不喜欢在ChannelProcessingFilter之后添加我的过滤器。这使得我的过滤器要处理两次请求!而且不止一次!

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 03:20:10

阅读this问题详细信息,这正是您要问的问题。它的读数

Spring Security不会在它创建的Filter bean上设置顺序。这意味着,当Boot为它创建FilterRegistrationBean时,它会获得默认顺序,即LOWEST_PRECEDENCE。

如果你想让你自己的过滤器在Spring Security之后,你可以为Spring Security的过滤器创建你自己的注册并指定顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56244830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档