使用AntPathRequestMatcher的Spring安全过滤器

时间:2015-11-02 16:41:52

标签: java spring spring-security

我有一个身份验证过滤器,可以扩展Spring安全性, AbstractAuthenticationProcessingFilter 。 所以在这种情况下,我可以将请求匹配器设置如下,

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

我创建另一个过滤器不需要具有身份验证功能。所以我使用 GenericFilterBean 扩展它。在这种情况下,我如何添加AntPathRequestMatcher如上所述?

1 个答案:

答案 0 :(得分: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);
}