我有一个扩展弹簧安全性的身份验证过滤器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);
}