Как получить текущий SessionId в любом микросервисе от Zuul - PullRequest
0 голосов
/ 23 января 2020

Я хочу получить текущий идентификатор сеанса в любом микросервисе.

Первоначально я сохраняю идентификатор сеанса как RequestContextHolder.currentRequestAttributes().getSessionId() в заголовке запроса на шлюзе Zuul

Я пытался получить сеанс идентификатор из RequestContextHolder.currentRequestAttributes().getSessionId();, но я получаю разные значения идентификатора сеанса из RequestContextHolder.

Как я могу получить текущий идентификатор сеанса?

Ответ: Я пытался получить идентификатор сеанса у повара ie, используя приведенный ниже код,

public static String getSessionId()
  {
    RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
    if (requestAttributes instanceof ServletRequestAttributes)
    {
      HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
      if (request.getCookies().length > 0 && request.getCookies()[0] != null && request.getCookies()[0].getName().equalsIgnoreCase("SESSIONID"))
      {
        return request.getCookies()[0].getValue();
      }
    }
    return null;
  }

Это правильный путь получить идентификатор сессии?

Предложить любой другой способ получить идентификатор сессии

...