加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何根据URL模式应用spring boot过滤器?

发布时间:2020-12-14 16:19:06 所属栏目:Java 来源:网络整理
导读:我创建了一个 spring boot过滤器 – 使用@Component注释实现GenericFilterBean. @Component public class MyAuthenticationFilter extends GenericFilterBean {...@Overridepublic void doFilter(ServletRequest servletRequest,ServletResponse servletResp
我创建了一个 spring boot过滤器 – 使用@Component注释实现GenericFilterBean.
@Component 
public class MyAuthenticationFilter  extends GenericFilterBean {
...
@Override
public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException,ServletException {
...
}
}

该过滤器由Spring Boot Framework自动识别,适用于所有REST API.我希望此过滤器仅应用于某个URL路径,例如/ api / secure / *但我找不到正确的方法.
我试过@WebFilter,但它不起作用.
我没有使用XML配置或servlet初始化程序 – 只是注释.

让它运作的正确方法是什么?

解决方法

您可以添加如下过滤器:
@Bean
public FilterRegistrationBean someFilterRegistration() {

    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(someFilter());
    registration.addUrlPatterns("/url/*");
    registration.addInitParameter("paramName","paramValue");
    registration.setName("someFilter");
    registration.setOrder(1);
    return registration;
} 

@Bean(name = "someFilter")
public Filter someFilter() {
    return new SomeFilter();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读