问题描述
我有一个Spring Boot Web应用程序,该应用程序实现Spring安全性并将Redis用于会话数据。此应用程序实现了ErrorController来捕获白标错误。
我使用“ forward:/”指令重定向到404页面。转发之后,会话数据将丢失,并且将以未编码的格式创建“ JSESSIONID” cookie。默认cookie是“ SESSION”,即使会话数据丢失,它在转发后仍保持不变。我尝试了一些配置选项来设置Cookie名称以及其他几个选项:
server.servlet.session.cookie.name = SESSION
server.servlet.session.tracking-modes=cookie
server.servlet.session.cookie.http-only = true
我什至尝试将cookie名称设置为JSESSIONID
server.servlet.session.cookie.name = JSESSIONID
我还尝试添加以下内容,以确保Spring Security不添加会话: http.sessionManagement()。sessionCreationPolicy(SessionCreationPolicy.STATELESS)
我还在JSP页面中尝试了,以确保JSP没有创建会话。
这些都没有帮助。如果我将重定向指令更改为使用“ redirect:/”,则可以正常工作。但是我不想使用它,因为我想在浏览器中保留原始URL。
- Tomcat是否正在添加JSESSIONID cookie?如果是的话,为什么当Redis / Spring管理Session时,它会出现在图片中。
- 是否存在已知问题?
在此问题上的任何帮助,甚至包括一些指导,都将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)