Параллельная загрузка нескольких файлов в Spring Boot вызывает случайные ошибки CSRF - PullRequest
0 голосов
/ 09 марта 2020

У меня есть приложение с бэкэндом Spring Boot 2 и Angular 5 веб-интерфейсом. Веб-интерфейс позволяет загружать файлы, каждый файл в одном запросе. Бэкэнд использует Spring Security для аутентификации, защиты CORS и CSRF.

Когда пользователь загружает много небольших файлов, серверная часть отклоняет некоторые запросы, поскольку токен CSRF в заголовке не совпадает с токеном из CookieCsrfTokenRepository . При загрузке 1000 файлов от 10% до 25% отклоняется, а большинство принимается. Без CSRF все работает нормально.

Моя идея состоит в том, что бэкэнд делает недействительными токены после некоторых успешных запросов и устанавливает новый в cook ie, в то время как некоторые запросы со старым уже сделаны внешним интерфейсом. , Повар ie и заголовок в запросах не совпадают с отклоненными.

Кто-нибудь имеет представление о том, что именно проблема и как ее исправить?

...