Я работаю над приложением, в котором Frontend реализован в Angular 5, а серверная часть находится в Spring Boot, я использую токены JWT для аутентификации. Проблема, которую я не могу понять, заключается в том, что когда пользователь входит в систему, я устанавливаю userId в HttpSession на задней панели, чтобы использовать userId в более позднем запросе того же пользователя.
session.setAttribute("userId", userData.getUsername());
Если тот же пользователь делает запросы к внутренним RestControllers с некоторым интервалом, например полсекунды, httpSession возвращается правильно, если я делаю очень быстрые запросы, httpSession начинает возвращать NULL. Я делаю такие запросы от Angular из различных сервисов.
getMyAccountList(){
return this.http.get('/api/account/getMyAccountList');
}




Итак, я понял, что это связано с поведением Spring Security Session Fixation, которое активировано по умолчанию. настройка HttpSecurity http в WebSecuirtyConfigurerAdapter может решить проблему. просто нужно добавить эту конфигурацию.
http.sessionManagement().sessionFixation().none();
также обратитесь к этому сообщению: Apache Tomcat 7 Изменение JSESSIONID при каждом запросе
Если cookie еще не вернулся для идентификации сеанса, значит сеанса еще нет.