Как полностью игнорировать определенный путь весной http / web security - PullRequest
0 голосов
/ 10 октября 2019

У меня есть конфигурация Spring Security, которая работает «аутентифицирует» пользователя, читая определенное значение заголовка. Таким образом, используя RequestHeaderAuthenticationFilter ():

private RequestHeaderAuthenticationFilter requestHeaderFilter() throws Exception {
    RequestHeaderAuthenticationFilter authenticationFilter = new RequestHeaderAuthenticationFilter();
    authenticationFilter.setPrincipalRequestHeader("user");
    authenticationFilter.setAuthenticationManager(this.authenticationManager());
    return authenticationFilter;
}

private static final String HEALTH_PATH_NOAUTH = "/actuator/health";

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers(HEALTH_PATH_NOAUTH);
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
    http.cors();
    http.authorizeRequests().anyRequest().authenticated();
    http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
    http.addFilter(requestHeaderFilter());
}

Мне нужно исключить из безопасности определенный путь: "/ activator / health" Сначала я попытался "allowAll", настроив HttpSecurity:

http.authorizeRequests().antMatchers(HEALTH_PATH_NOAUTH).permitAll().anyRequest().authenticated();

Но это не помогло и не помогло переопределить «WebSecurity», как вы видите в первом листинге. RequestHeaderAuthenticationFilter всегда выдает свое исключение, если заголовок не установлен. Я хочу, чтобы это исключение было выдано, но не для этого определенного пути.

Как решить эту проблему?

ОБНОВЛЕНИЕ: Я удалил "bean" и сделал метод закрытым, но это не должно делатьразница - web.ignoring().antMatchers(HEALTH_PATH_NOAUTH); должен работать независимо от того, добавлен ли фильтр явно или в виде компонента, или даже дважды - верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...