未在 Azure 中创建 Spring Boot 会话
Posted
技术标签:
【中文标题】未在 Azure 中创建 Spring Boot 会话【英文标题】:Spring Boot session is not created in Azure 【发布时间】:2021-11-10 18:01:42 【问题描述】:当我们将 Spring Boot 应用部署到 Azure Web App 时,没有创建 JSESSIONID cookie,看起来根本没有会话。
这是我们的 Spring Security 会话配置:
private void setSessionManagement(HttpSecurity http) throws Exception
http.sessionManagement()
.enableSessionUrlRewriting(false)
.sessionFixation()
.migrateSession()
.sessionCreationPolicy(SessionCreationPolicy.ALWAYS)
.invalidSessionStrategy(invalidSessionStrategy);
//.maximumSessions(1)
//.expiredSessionStrategy(expiredSessionStrategy);
当我们在 Docker/IntelliJ 本地运行时,它会被创建。除此之外,我已经在“配置”>“常规”设置下将 ARR 关联设置为“开启”,但仍然没有运气。
编辑:
发现问题,我们必须更新 Spring Boot:2.3.5.RELEASE -> 2.5.4
【问题讨论】:
嗨@Adam,这是否解决了您的问题。如果是,请提供步骤,以便对其他社区成员有所帮助。 【参考方案1】:我尝试使用最新的 Spring Boot 版本 2.5.4 我没有遇到任何问题。我可以看到 JSESSIONID cookie 已创建。
似乎某些会话问题已在更新中得到修复。 Release v2.5.4 · spring-projects/spring-boot
我希望您的问题已在最新版本中得到解决。
【讨论】:
以上是关于未在 Azure 中创建 Spring Boot 会话的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot flash 属性未在 Azure 上发送