как написать тест, чтобы убедиться, что 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 включен.