2016-12-02 60 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已经可以处理我的请求。 –