无法在SpringBoot中禁用Bean

时间:2019-08-28 17:49:39

标签: spring-boot spring-security spring-security-oauth2 servlet-filters

我正在使用springboot,并且对azure-active-directory-spring-boot-starter有依赖性。

我的目标是用我的自定义版本替换豆OAuth2AuthorizationRequestRedirectFilterCustomOAuth2AuthorizationRequestRedirectFilter extends OAuth2AuthorizationRequestRedirectFilter

这就是我要达到的目的:在public class WebSecurityConfig extends WebSecurityConfigurerAdapter中,我

@Bean
  public FilterRegistrationBean<OAuth2AuthorizationRequestRedirectFilter> registration(OAuth2AuthorizationRequestRedirectFilter filter) {
    FilterRegistrationBean<OAuth2AuthorizationRequestRedirectFilter> registration = new FilterRegistrationBean<>(filter);
    registration.setEnabled(false);
    return registration;
  }

@Override
  protected void configure(HttpSecurity http) throws Exception {

    http.authorizeRequests().antMatchers("/public/*").permitAll();
    http.authorizeRequests().antMatchers("/api/v1/*").authenticated();

    http.addFilterBefore(_customOAuth2AuthorizationRequestRedirectFilter, OAuth2AuthorizationRequestRedirectFilter.class);
...

在调试器中,我可以看到过滤器已注入到正确的位置,但是我仍然可以看到原始过滤器:

Filter chain

我希望过滤器链的大小为16,而OAuth2AuthorizationRequestRedirectFilter根本不会出现在过滤器链中。

我的期望正确吗?如果是,我还能做些什么?

谢谢

0 个答案:

没有答案