JSessionId изменяется после входа в систему, и Angular 5 отправляет новый JSessionID с запросом и отбрасывает старый jsessionid.

Я новичок в Angular 5 и Spring MVC, и я пытаюсь создать функцию входа в систему для своего приложения.

Мы не используем Spring Security, поскольку мы используем только базовое управление сеансом, предоставляемое модулем Spring MVC.

Я сохраняю JsessionId (скажем, LoginSessionId) в своем внешнем интерфейсе, сгенерированном LoginController при попытке аутентифицировать моего пользователя после отправки первого запроса на серверную часть:

Создание базового сеанса в spring MVC

Я отправляю одно и то же LoginSessionId с каждым запросом в заголовке «Авторизация» с помощью HttpInterceptor:

HttpInterceptor

Но после входа в систему Angular 5 отправляет новый JsessionId в файл cookie и отбрасывает ранее возвращенный JsessionId из файла cookie в ответ на первый запрос.

В моем бэкэнде (Spring MVC) новый Sessionid создается из второго запроса и далее, а ранее сгенерированный SessionId (LoginSessionId) отбрасывается.

Снимок экрана нескольких HttpSessions

Я хочу сохранить и использовать LoginSessionId в своих внутренних операциях.

Пожалуйста, помогите мне, как это сделать? Я использую Apache Tomcat 8.0.43 и Spring MVC версии 5.0.4. Я уже включил заголовки CORS. Пожалуйста, дайте мне знать, если потребуется дополнительная информация.


person ashutosh    schedule 04.11.2018    source источник
comment
Пожалуйста, не добавляйте текст в виде изображений   -  person James Z    schedule 04.11.2018
comment
@JamesZ Спасибо. Позаботится об этом с этого момента.   -  person ashutosh    schedule 05.11.2018


Ответы (1)


Наконец-то я нашел проблему. Я не добавлял заголовок withCredentials в первый запрос. Таким образом, мой внутренний сервер идентифицировал JsessionId только со второго запроса.

person ashutosh    schedule 08.12.2018