You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Security maximumSessions()方法失效问题排查与解决

问题:Spring Security单用户会话限制失效(结合Spring Session JDBC持久化)

场景描述

项目基于Spring Boot、Spring Security和Spring Session构建,已通过spring.session.store-type=jdbc配置将会话持久化到数据库。前端使用React,通过自定义REST接口实现登录——登录接口可正常创建会话并写入数据库,但配置maximumSessions(1)限制单用户仅允许一个会话后,该功能完全失效,用户仍能在多个浏览器登录。

已做排查

  • 重写了User模型和UserDetails的equals()与hashCode()方法,逻辑经确认无问题。
  • 最终定位问题出在SecurityFilterChain的配置上。

解决方案

在@m-deinum的协助下,通过自定义LoginFilter并配置SessionAuthenticationStrategy,成功解决该问题,实现了单用户会话限制的需求。


内容的提问来源于stack exchange,提问作者Verduttio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:54:53