Sa-Token v1.45.0 發(fā)布 ??,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件適配

Sa-Token 是一款 開源免費 的輕量級 Java 權限認證框架,主要解決:登錄認證、權限認證單點登錄、OAuth2.0、微服務網關鑒權 等一系列權限相關問題。??

sa-token-jss--white.png

目前最新版本 v1.45.0 已推送至 Maven 中央倉庫 ??,大家可以通過如下方式引入:

<!-- Sa-Token 權限認證 -->
<dependency>
    <groupId>cn.dev33</groupId>
    <artifactId>sa-token-spring-boot4-starter</artifactId>
    <version>1.45.0</version>
</dependency>

該版本包含大量 ????新增特性、??底層重構、????代碼優(yōu)化 等,下面容我列舉幾條比較重要的更新內容供大家參閱:

?? 更新點1:萬人血書的 Spring Boot 4 集成包,它來了!

Spring Boot 4 正式版發(fā)布后,社區(qū)里「求適配」的呼聲就沒停過!fix: #869、#IDB02G#IDGQYM 這次,它真的來了!??

need-spring-boot-4-starter.png

本次更新新增了完整的 Spring Boot 4 集成支持:??

  • sa-token-spring-boot4-starter:WebMVC 環(huán)境下的 Spring Boot 4 集成包。
  • sa-token-reactor-spring-boot4-starter:Reactor 響應式環(huán)境下的 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 的默認策略為“新登錄頂掉舊會話”,即新登錄后會將舊端踢下線。??
  • 但部分業(yè)務對安全性有更高要求,例如用戶 A 已在手機端登錄,再用電腦登錄時,希望直接攔截本次登錄,不影響原有會話,即提示“該賬號已在其他設備登錄,無法頂替下線”,而不是讓手機端被踢下線。????

本次更新新增了配置項 replacedLoginExitMode,你可通過它自由選擇策略,無需變動業(yè)務代碼,靈活應對不同安全需求。配置項含義說明如下:

  • replacedLoginExitMode = OLD_DEVICE:舊設備下線,新設備登錄成功(默認行為,頂人下線模式)。
  • replacedLoginExitMode = NEW_DEVICE:新設備登錄失敗,舊設備維持在線(攔截本次登錄)。

只需在 Sa-Token 配置文件或啟動參數中切換即可,非常便捷。???

merge: pr 349

?? 更新點3:新增 sa-token-jackson3、sa-token-snack4 插件,生態(tài)持續(xù)擴展

Sa-Token 的 JSON 與序列化生態(tài)一直在持續(xù)豐富,本次又迎來兩位新成員:??

  • sa-token-jackson3:用于 Jackson 3 的 JSON 操作。Jackson 3 是 Jackson 的最新大版本,如果你已經在使用 Jackson 3,現在可以無縫對接 Sa-Token 了。
  • sa-token-snack4:用于 Snack4 的 JSON 操作。merge: pr 356

引入方式示例:

<!-- 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 相關模塊,優(yōu)化依賴關系,使版本管理更清晰。
  • 重構 Spring Boot WebMVC/Reactor 相關集成包,優(yōu)化模塊劃分與依賴傳遞。
  • 優(yōu)化整體模塊依賴關系,減少冗余、提升構建效率。

這是一次「看不見的升級」,但對長期維護和后續(xù)擴展都有積極影響。??

?? 更新點5:SSO 模塊新增 STS 協議定義、視頻講解與平臺中心模式 demo

SSO 單點登錄模塊在本版本也有不少文檔與示例上的增強:??

  • STS 協議定義:文檔為 sa-token-sso 模塊正式定義了 STS 協議,方便大家理解與對接。
  • 平臺中心模式 demo:sso-server 前后端分離模式下,新增平臺中心模式 demo 示例。
  • 消息處理器相關文檔:補全了 SSO 模塊內置消息處理器相關文檔,修復了 msgType 參數說明與 API 說明。??
  • 視頻講解:B 站 up 主「王清江唷」錄制了 SSO 篇共 29 集視頻,從零到一講解單點登錄,非常適合入門與進階。

?? 更新點6:修復 OAuth2 序列化類型轉換、Dubbo 上下文清理等問題

本版本修復了多個社區(qū)反饋的問題:??

  • OAuth2:修復 sa-token-oauth2 組件使用 sa-token-fastjson2 序列化導致的類型轉換問題。merge: pr 355
  • Dubbo:修復 Dubbo 上下文清理問題,避免 RPC 調用時上下文污染。merge: pr 889
  • Core:修復 StpUtil.getLoginIdByTokenNotThinkFreeze 方法缺少 static 修飾符的問題。
  • Core:優(yōu)化路由匹配 pattern 緩存算法,消除魔法值。merge: pr 907

?? 更新點7:文檔與社區(qū)建設

文檔與社區(qū)方面也有不少更新:??

  • 新增 Sa-Token 內容合作者群,歡迎愿意參與文檔、教程、視頻等內容創(chuàng)作的小伙伴加入。
  • 新增贊賞碼展示、文檔首頁 stars 對比圖、解決跨域專題文章。
  • 優(yōu)化框架 Slogan、README、案例庫展示。
  • 文檔主題切換增加水滴特效,登錄認證、權限認證、路由攔截鑒權等章節(jié)優(yōu)化。
  • 補全全局策略說明、數據結構說明,目錄樹增加項目架構設計欄目。
  • 新增 Maven 父子項目無法下載依賴的問題解決方案。merge: pr 358
  • 新增《Gitee 2025 年度開源項目 Web 應用開發(fā) Top 2》證書展示,感謝社區(qū)認可。??
gitee-2025-top2.jpg

?? 完整更新日志

除了以上提到的幾點以外,還有更多更新點無法逐一詳細介紹,下面是 v1.45.0 版本的完整更新日志:

  • core:
    • 新增:新增重復登錄處理策略,當同一賬號不允許多客戶端同時登錄時支持選擇踢人下線或攔截本次登錄。 [重要] merge: pr 349
    • 修復:修復 StpUtil.getLoginIdByTokenNotThinkFreeze 方法缺少 static 修飾符的問題。
    • 優(yōu)化:優(yōu)化路由匹配 pattern 緩存算法,消除魔法值。merge: pr 907
    • 優(yōu)化:移除冗余導包。
  • 插件:
    • 新增:新增 sa-token-jackson3 插件,用于 Jackson 3 的 JSON 操作。 [重要]
    • 新增:新增 sa-token-jackson3-test 單元測試。
    • 新增:新增 sa-token-snack4 插件。 [重要] merge: pr 356
    • 修復:修復 Dubbo 上下文清理問題。 merge: pr 889
    • 新增:loveqq-framework 版本更新。merge: pr 351
  • starter:
    • 新增:新增 sa-token-spring-boot4-starter 集成包,支持 Spring Boot 4 環(huán)境集成。 [重要]
    • 新增:新增 sa-token-reactor-spring-boot4-starter 集成包,支持 Reactor + Spring Boot 4 環(huán)境集成。 [重要]
    • 新增:新增 sa-token-demo-springboot4、sa-token-demo-webflux-springboot4 示例。
    • 新增:新增 Spring Boot 4 整合 demo 示例。
  • 重構:
    • 重構:重構 sa-token-dependencies 相關模塊,優(yōu)化依賴關系。 [重要]
    • 重構:重構 Spring Boot WebMVC/Reactor 相關集成包,優(yōu)化依賴關系。 [重要]
    • 優(yōu)化:優(yōu)化整體模塊依賴關系。
  • Solon:
    • 優(yōu)化:sa-token-solon-plugin 優(yōu)化 Gateway 接口的處理,避免使用路由接口。merge: pr 348
  • SSO:
    • 新增:sso-server 前后端分離模式下 平臺中心模式 demo 示例。
    • 修復:SSO 模塊 msgType 參數說明、API 說明修正。
    • 新增:SSO 模塊視頻講解鏈接:B站 王清江唷 SSO篇(29集)。 [重要]
    • 補全:SSO 模塊內置消息處理器相關文檔。
    • 新增:文檔為 sa-token-sso 模塊定義 STS 協議。 [重要]
  • OAuth2:
    • 修復:修復 sa-token-oauth2 組件使用 sa-token-fastjson2 序列化導致的類型轉換問題。merge: pr 355
    • 優(yōu)化:修改 ClientIdSecretModel 的讀取構建邏輯。merge: pr 346
  • 文檔:
    • 同步:同步公眾號文章列表、博客列表、贊助者名單、企業(yè)登記案例。
    • 新增:新增 Sa-Token 內容合作者群。 [重要]
    • 新增:新增《Gitee 2025 年度開源項目 Web 應用開發(fā) Top 2》證書展示。
    • 新增:新增贊賞碼展示、文檔首頁 stars 對比圖。
    • 新增:新增解決跨域專題文章。
    • 新增:增加微信群聊信息展示。
    • 優(yōu)化:優(yōu)化框架 Slogan。
    • 優(yōu)化:優(yōu)化 README、案例庫展示。
    • 優(yōu)化:文檔主題切換增加水滴特效,調整主題色塊順序。
    • 優(yōu)化:文檔優(yōu)化 [登錄認證]、[權限認證]、[路由攔截鑒權] 篇。
    • 優(yōu)化:補全全局策略說明、數據結構說明。
    • 新增:目錄樹增加專門欄目記錄項目架構設計。
    • 優(yōu)化:功能結構圖增加點擊事件跳轉到對應功能文檔。
    • 優(yōu)化:子服務外網隔離章節(jié)增加示意圖。
    • 優(yōu)化:Same-Token 同源系統(tǒng)認證圖示說明。
    • 修復:更換 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,用于統(tǒng)一升級修改版本號。
    • 新增:新增 remove-redundancy-import SKILL,用于檢查 Java 類中無效冗余導包并移除。
  • 其它:
    • 新增:readme 增加快問快答區(qū)域。
    • 新增:增加忽略 .vscode 目錄。
    • 優(yōu)化:注釋優(yōu)化。
    • 重構:備忘錄重構為專門的文件夾。
    • 重構:調整項目發(fā)布配置至 Maven Central Portal。merge: pr 792
    • 優(yōu)化:部分構建配置升級到最新版。

更新日志在線文檔直達鏈接:https://sa-token.cc/doc.html#/more/update-log

?? 其它

代碼倉庫地址:https://gitee.com/dromara/sa-token

框架功能結構圖:

sa-token-js4.png
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容