【发布时间】:2020-06-02 23:21:33
【问题描述】:
我有一个 Spring Boot Web 应用程序,我正在尝试使其无状态。在我的 WebSecurityConfigurerAdapter 我已经设置了
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
但应用程序(使用 Thymeleaf 模板)通过在文件名后附加“;jsessionid=<some_session_id>”不断重写图像和脚本的 URL。除了给我一个我不想要的cookie之外,它还有一个恼人的副作用是Spring Security会阻止请求,因为它在URL中有一个分号!
Thymeleaf says this is the intended and desired behavior 说这不是他们的错:Thymeleaf 只是要求“Servlet API”重写 URL,我们应该“在 Tomcat 上下文级别配置应用程序”来解决问题。
那么,我该怎么做呢?我有一个用于授权的自定义 JWT cookie,所以我根本不需要或不需要会话 cookie,当然不是在重写的 URL 中。
【问题讨论】:
-
最后我决定继续使用会话 ID,但在 this answer to "How can I use Spring Security without sessions" 之后取消了它让用户在基于 JWT 的身份验证之外保持登录的能力
标签: spring-boot session url-rewriting