2015-11-02 63 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); 
}