我添加了spring配置我自己的自定义过滤器:
@Override
public void configure(HttpSecurity http) throws Exception {
http.addFilterBefore(filter, BasicAuthenticationFilter.class);
http.csrf().disable();
http.authorizeRequests().antMatchers("/oauth/token").fullyAuthenticated();
}
但doFilter(...)没有调用。我需要先处理请求,然后再吃掉#34;通过spring-security-oauth。如何使它工作?
答案 0 :(得分:0)
根据文档,addFilterBefore
配置方法"允许在其中一个已知的Filter类之前添加过滤器。已知的过滤器实例是HttpSecurityBuilder.addFilter(Filter)
中列出的过滤器或已使用HttpSecurityBuilder.addFilterAfter(Filter, Class)
或HttpSecurityBuilder.addFilterBefore(Filter, Class)
"
这基本上意味着当且仅当BasicAuthenticationFilter
已经注册处理您的请求时才会应用您的过滤器,这可能不是。