我有一个身份验证过滤器,可以扩展Spring安全性, AbstractAuthenticationProcessingFilter 。 所以在这种情况下,我可以将请求匹配器设置如下,
MyAuthenticationFilter authFilter = new MyAuthenticationFilter();
authFilter.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/api/**"));
我创建另一个过滤器不需要具有身份验证功能。所以我使用 GenericFilterBean 扩展它。在这种情况下,我如何添加AntPathRequestMatcher如上所述?
答案 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);
}