Как отключить CSRF в Spring Boot 3 только для тестовJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как отключить CSRF в Spring Boot 3 только для тестов

Сообщение Anonymous »

Я пишу тесты для приложения, используя Spring Boot 3.1.2. В приложении включено CSRF, но авторизация в тестах не удается при включении CSRF, поэтому я хочу отключить его только для тестов. < /p>

Код: Выделить всё

@Bean
protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(auth -> auth
.requestMatchers(openUrls).permitAll()
.anyRequest().hasAuthority(applicationRoleKey))
.oauth2ResourceServer(oauth -> oauth
.jwt(jwt -> jwt.jwtAuthenticationConverter(jwtAuthenticationConverter())));
return http.build();
}
< /code>
Образец испытаний, который снят сбой (получить 406 вместо 400): < /p>
@Test
@WithMockUser(authorities = "user=admin")
void asAdmin_canGetPhoto() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/photo")).andExpect(status().isOk());
}
< /code>
Какой рекомендуемый способ отключить CSRF только для тестов? Я могу найти только решения, используя устаревшие версии Spring Security. < /P>
Спасибо за любое руководство! ) 
к тестам.

Подробнее здесь: https://stackoverflow.com/questions/771 ... -for-tests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»