2015-11-02 61 views
0

我有一个扩展弹簧安全性的身份验证筛选器,AbstractAuthenticationProcessingFilter。 所以在这种情况下,我可以设置请求的匹配如下,具有AntPathRequestMatcher的弹簧安全筛选器

MyAuthenticationFilter authFilter = new MyAuthenticationFilter(); 
authFilter.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/api/**")); 

我创建另一个过滤器并不需要有一个认证功能。所以我扩展它使用GenericFilterBean。在这种情况下,如何像上面那样添加AntPathRequestMatcher?

回答

1

您需要调用RequestMatcher.matches(HttpServletRequest request)

RequestMatcher myMatcher = AntPathRequestMatcher("/api/**"); 
... 


@Override 
void doFilter(ServletRequest request, ServletResponse response, 
         FilterChain chain) { 

    if (myMatcher.matches(request)) { 
     ... 
    } else { 
     ... 
    } 

    chain.doFilter(request, response); 
}