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

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


我创建另一个没有必要具有身份验证功能的筛选器。因此,我使用GenericFilterBean对其进行了扩展。在这种情况下,如何添加上述的AntPathRequestMatcher?

最佳答案

您需要调用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);
}

07-25 21:59