替换 JavaScript 中的 HttpServletRequest.GetSession()

Replacement for the HttpServletRequest.GetSession() in JavaScript

目前,我们正在使用旧版应用程序,其中 Java HttpServletRequest.GetSession() 函数从客户端浏览器获取会话,其中会话是从浏览器的父选项卡设置的。

现在我们需要访问相同的会话信息[例如,我们在会话中有Token] 使用我们的新应用程序和解耦的微服务架构 [UI-React JS]。 我们是否可以从前端访问会话?

感谢您对此的建议。

谢谢!

HTTP Session 是后端的临时存储,您可以在其中存储基于先前请求的内容。一旦你在那里存储了一些东西,后端就会 return a Set-Cookie header 到浏览器,并带有浏览器为用户存储的 JSESSIONID。对于下一次调用,浏览器将发送相同的 JSESSIONID cookie,后端将使用它作为密钥来检索该用户浏览器先前保存的数据。

如果你要迁移到 React JS 应用程序,我认为没有必要在后端存储令牌,而使用只有 JSESSIONID 的 cookie。相反,前端可以存储所有必要的数据client-side.

我认为有多种选择:

  1. 保持 React 状态(在浏览器内存中)
  2. 将其保存在您通过前端管理的 Cookie 中
  3. 将其保存在浏览器的本地存储中(我认为不太安全)