2016-12-02 102 views
1

我加入到Spring配置自己的自定義過濾器:Spring安全篩選器不起作用。春天的bug?

@Override 
public void configure(HttpSecurity http) throws Exception { 
    http.addFilterBefore(filter, BasicAuthenticationFilter.class); 
    http.csrf().disable(); 
    http.authorizeRequests().antMatchers("/oauth/token").fullyAuthenticated(); 
} 

但doFilter的(......)不調用。我需要在請求被spring-security-oauth「吃掉」之前處理請求。如何使它工作?

回答

0

根據文檔,addFilterBefore配置方法「允許已知的過濾器類中的一個之前加入一個過濾器,公知的過濾器的實例是任一個或在HttpSecurityBuilder.addFilter(Filter)列出一個過濾器,已使用HttpSecurityBuilder.addFilterAfter(Filter, Class)HttpSecurityBuilder.addFilterBefore(Filter, Class)加入過濾器」

HttpSecurity documentaion

這基本上意味着,當且僅當BasicAuthenticationFilter已經註冊到處理您的請求,這可能不是你的過濾器將被應用。

+0

BasicAuthenticationFilter已經可以處理我的請求。 –