【发布时间】:2021-01-15 14:44:05
【问题描述】:
所以我基本上使用RedisHttpSession 进行会话管理。我创建了这个登录 API,它在登录成功时将 Staff 对象存储在会话中。 request.getSession().setAttribute("staff", staff); 在其他 API 中,我验证是否有有效员工登录,如果没有,我将他们重定向到登录页面。 Staff staff = (Staff) request.getSession().getAttribute("staff"); 现在,当我用 Postman 测试整个场景时,它按预期工作,但是我将它放在服务器上,request.getSession().getId() 在每个请求中都不同。
我注意到的另一件事是,当我从 Postman 发送请求时,我看到 cookie 被存储,但浏览器上没有 cookie。
为什么每个请求中的 sessionId 都不一样?我该如何解决这个问题?
【问题讨论】:
-
好吧,上面的代码是关于创建 RedisClient/Connection 的,而您的问题是关于 HttpSession - 这更多地与 Spring 有关,两者都不相关。您应该查看根据请求/响应处理 HttpSession 管理的代码。
标签: java spring-boot httpsession spring-session lettuce