Spring安全筛选器不起作用。春天的bug?
问题描述:
我加入到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“吃掉”之前处理请求。如何使它工作?
答
根据文档,addFilterBefore
配置方法“允许已知的过滤器类中的一个之前加入一个过滤器,公知的过滤器的实例是任一个或在HttpSecurityBuilder.addFilter(Filter)
列出一个过滤器,已使用HttpSecurityBuilder.addFilterAfter(Filter, Class)
或HttpSecurityBuilder.addFilterBefore(Filter, Class)
加入过滤器”
这基本上意味着,当且仅当BasicAuthenticationFilter
已经注册到处理您的请求,这可能不是你的过滤器将被应用。
BasicAuthenticationFilter已经可以处理我的请求。 –