未在 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 上发送

未在指定架构中创建表

Swagger UI 未在 azure .net 核心中生成,但在本地工作

Spring Boot 不在 Postgres 中创建表

在 Spring Boot 中创建数据源时出错

在 Spring Boot 中创建动态服务