Sa-Token 是一款 开源 、免费 的轻量级 Java 权限认证框架,主要解决:登录认证 、权限认证 、单点登录 、OAuth2.0 、微服务网关鉴权 等一系列权限相关问题。🔐

目前最新版本 v1.45.0 已推送至 Maven 中央仓库 🎉,大家可以通过如下方式引入:
xml
<!-- Sa-Token 权限认证 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot4-starter</artifactId>
<version>1.45.0</version>
</dependency>
该版本包含大量 ⛏️️️新增特性、⛏️底层重构、⛏️️️代码优化 等,下面容我列举几条比较重要的更新内容供大家参阅:
🚀 更新点1:万人血书的 Spring Boot 4 集成包,它来了!
Spring Boot 4 正式版发布后,社区里「求适配」的呼声就没停过!fix: #869、#IDB02G、#IDGQYM 这次,它真的来了!🎉

本次更新新增了完整的 Spring Boot 4 集成支持:🌟
- sa-token-spring-boot4-starter:WebMVC 环境下的 Spring Boot 4 集成包。
- sa-token-reactor-spring-boot4-starter:Reactor 响应式环境下的 Spring Boot 4 集成包。
同时配套新增了示例项目:
sa-token-demo-springboot4:Spring Boot 4 + WebMVC 整合 demo。sa-token-demo-webflux-springboot4:Spring Boot 4 + WebFlux 示例。
如果你正在或计划升级到 Spring Boot 4,可以直接引入对应 starter,体验与 Spring Boot 2/3 一致的丝滑集成。✨
🎯 更新点2:重复登录处理策略升级,可灵活配置是 "顶人下线" 还是 "不允许登录"
Sa-Token 在多端登录控制场景下,现已支持通过 replacedLoginExitMode 配置项自定义重复登录时的行为方式:
- 当同一账号不允许多客户端同时登录时,以往 Sa-Token 的默认策略为"新登录顶掉旧会话",即新登录后会将旧端踢下线。🔄
- 但部分业务对安全性有更高要求,例如用户 A 已在手机端登录,再用电脑登录时,希望直接拦截本次登录,不影响原有会话,即提示"该账号已在其他设备登录,无法顶替下线",而不是让手机端被踢下线。📱💻
本次更新新增了配置项 replacedLoginExitMode,你可通过它自由选择策略,无需变动业务代码,灵活应对不同安全需求。配置项含义说明如下:
replacedLoginExitMode = OLD_DEVICE:旧设备下线,新设备登录成功(默认行为,顶人下线模式)。replacedLoginExitMode = NEW_DEVICE:新设备登录失败,旧设备维持在线(拦截本次登录)。
只需在 Sa-Token 配置文件或启动参数中切换即可,非常便捷。🛡️
merge: pr 349
📦 更新点3:新增 sa-token-jackson3、sa-token-snack4 插件,生态持续扩展
Sa-Token 的 JSON 与序列化生态一直在持续丰富,本次又迎来两位新成员:📚
- sa-token-jackson3:用于 Jackson 3 的 JSON 操作。Jackson 3 是 Jackson 的最新大版本,如果你已经在使用 Jackson 3,现在可以无缝对接 Sa-Token 了。
- sa-token-snack4 :用于 Snack4 的 JSON 操作。merge: pr 356
引入方式示例:
xml
<!-- Sa-Token 整合 Jackson 3 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-jackson3</artifactId>
<version>1.45.0</version>
</dependency>
<!-- Sa-Token 整合 Snack4 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-snack4</artifactId>
<version>1.45.0</version>
</dependency>
无论你偏好 Jackson、Fastjson、Snack3 还是 Snack4,Sa-Token 都能满足。🎛️
🏗️ 更新点4:重构 sa-token-dependencies 及 WebMVC/Reactor 集成包
本次版本对依赖体系进行了一次重要重构:🔧
- 重构
sa-token-dependencies相关模块,优化依赖关系,使版本管理更清晰。 - 重构 Spring Boot WebMVC/Reactor 相关集成包,优化模块划分与依赖传递。
- 优化整体模块依赖关系,减少冗余、提升构建效率。
这是一次「看不见的升级」,但对长期维护和后续扩展都有积极影响。📐
📺 更新点5:SSO 模块新增 STS 协议定义、视频讲解与平台中心模式 demo
SSO 单点登录模块在本版本也有不少文档与示例上的增强:📖
- STS 协议定义 :文档为
sa-token-sso模块正式定义了 STS 协议,方便大家理解与对接。 - 平台中心模式 demo:sso-server 前后端分离模式下,新增平台中心模式 demo 示例。
- 消息处理器相关文档:补全了 SSO 模块内置消息处理器相关文档,修复了 msgType 参数说明与 API 说明。🔗
- 视频讲解:B 站 up 主「王清江唷」录制了 SSO 篇共 29 集视频,从零到一讲解单点登录,非常适合入门与进阶。
🐞 更新点6:修复 OAuth2 序列化类型转换、Dubbo 上下文清理等问题
本版本修复了多个社区反馈的问题:🙏
- OAuth2 :修复
sa-token-oauth2组件使用sa-token-fastjson2序列化导致的类型转换问题。merge: pr 355 - Dubbo :修复 Dubbo 上下文清理问题,避免 RPC 调用时上下文污染。merge: pr 889
- Core :修复
StpUtil.getLoginIdByTokenNotThinkFreeze方法缺少static修饰符的问题。 - Core :优化路由匹配 pattern 缓存算法,消除魔法值。merge: pr 907
📚 更新点7:文档与社区建设
文档与社区方面也有不少更新:❤️
- 新增 Sa-Token 内容合作者群,欢迎愿意参与文档、教程、视频等内容创作的小伙伴加入。
- 新增赞赏码展示、文档首页 stars 对比图、解决跨域专题文章。
- 优化框架 Slogan、README、案例库展示。
- 文档主题切换增加水滴特效,登录认证、权限认证、路由拦截鉴权等章节优化。
- 补全全局策略说明、数据结构说明,目录树增加项目架构设计栏目。
- 新增 Maven 父子项目无法下载依赖的问题解决方案。merge: pr 358
- 新增《Gitee 2025 年度开源项目 Web 应用开发 Top 2》证书展示,感谢社区认可。🏆

📜 完整更新日志
除了以上提到的几点以外,还有更多更新点无法逐一详细介绍,下面是 v1.45.0 版本的完整更新日志:
- core:
- 插件:
- starter:
- 新增:新增
sa-token-spring-boot4-starter集成包,支持 Spring Boot 4 环境集成。 [重要] - 新增:新增
sa-token-reactor-spring-boot4-starter集成包,支持 Reactor + Spring Boot 4 环境集成。 [重要] - 新增:新增
sa-token-demo-springboot4、sa-token-demo-webflux-springboot4示例。 - 新增:新增 Spring Boot 4 整合 demo 示例。
- 新增:新增
- 重构:
- 重构:重构
sa-token-dependencies相关模块,优化依赖关系。 [重要] - 重构:重构 Spring Boot WebMVC/Reactor 相关集成包,优化依赖关系。 [重要]
- 优化:优化整体模块依赖关系。
- 重构:重构
- Solon:
- 优化:
sa-token-solon-plugin优化 Gateway 接口的处理,避免使用路由接口。merge: pr 348
- 优化:
- SSO:
- 新增:sso-server 前后端分离模式下 平台中心模式 demo 示例。
- 修复:SSO 模块 msgType 参数说明、API 说明修正。
- 新增:SSO 模块视频讲解链接:B站 王清江唷 SSO篇(29集)。 [重要]
- 补全:SSO 模块内置消息处理器相关文档。
- 新增:文档为
sa-token-sso模块定义 STS 协议。 [重要]
- OAuth2:
- 文档:
- 同步:同步公众号文章列表、博客列表、赞助者名单、企业登记案例。
- 新增:新增 Sa-Token 内容合作者群。 [重要]
- 新增:新增《Gitee 2025 年度开源项目 Web 应用开发 Top 2》证书展示。
- 新增:新增赞赏码展示、文档首页 stars 对比图。
- 新增:新增解决跨域专题文章。
- 新增:增加微信群聊信息展示。
- 优化:优化框架 Slogan。
- 优化:优化 README、案例库展示。
- 优化:文档主题切换增加水滴特效,调整主题色块顺序。
- 优化:文档优化 [登录认证]、[权限认证]、[路由拦截鉴权] 篇。
- 优化:补全全局策略说明、数据结构说明。
- 新增:目录树增加专门栏目记录项目架构设计。
- 优化:功能结构图增加点击事件跳转到对应功能文档。
- 优化:子服务外网隔离章节增加示意图。
- 优化:Same-Token 同源系统认证图示说明。
- 修复:更换 GitCode logo 为 AtomGit。
- 修复:更换 QQ 群链接、微信群聊展示图。
- 修复:文档图片地址更换为本地文件。
- 修复:错别字修复。
- 修复:maven-pull.md 文档,解决父子项目依赖下载问题。
- 新增:Maven 父子项目无法下载依赖的问题解决方案。merge: pr 358
- 修复:订正文档错别字。merge: pr 354
- 修复:文档内代码示例修正。merge: pr 347
- AI:
- 新增:新增 organize-update-log SKILL,用于格式化整理版本更新日志信息。
- 新增:新增 commit-message SKILL,用于整理 git commit 日志信息。
- 新增:新增 upgrade-version SKILL,用于统一升级修改版本号。
- 新增:新增 remove-redundancy-import SKILL,用于检查 Java 类中无效冗余导包并移除。
- 其它:
- 新增:readme 增加快问快答区域。
- 新增:增加忽略 .vscode 目录。
- 优化:注释优化。
- 重构:备忘录重构为专门的文件夹。
- 重构:调整项目发布配置至 Maven Central Portal。merge: pr 792
- 优化:部分构建配置升级到最新版。
更新日志在线文档直达链接:sa-token.cc/doc.html#/m...
🌟 其它
代码仓库地址:gitee.com/dromara/sa-...
框架功能结构图:
