как написать тест, чтобы убедиться, что CSRF не отключен

JAVA 8 + SPRING 5 + Junit - без весенней загрузки

У меня есть образец следующей весенней конфигурации. Я хочу написать базовый тест, чтобы проверить конфигурацию, если кто-то отключает конфигурацию csrf, тест должен завершиться неудачей.

по умолчанию csrf включен, поэтому вы не увидите никакой конфигурации csrf.

любая помощь приветствуется заранее.

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
public class WebMVCSecurity extends WebSecurityConfigurerAdapter {

    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
          .withUser("user1").password("{noop}user1Pass")
          .authorities("ROLE_USER");
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/resources/**");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
          .authorizeRequests()
          .anyRequest()
          .authenticated()
          .and()
          .httpBasic();
    }
}

1 ответ

Решение

Вся конфигурация безопасности Spring в конечном итоге преобразуется в объект FilterChainProxy с автоматическим подключением, а затем итерацией по фильтрам, ищите класс CsrfFilter, если csrf включен.

Другие вопросы по тегам