《分布式單點登錄框架XXL-SSO》已開放原始碼,開箱即用

今天老貓要跟大家分享一個開源項目XXL-SSO單點登錄框架,開發者:許雪裡,代碼可以到碼雲跟github中下載。搜索項目名XXL-SSO。

《分佈式單點登錄框架XXL-SSO》已開放源代碼,開箱即用

項目簡介

XXL-SSO is a distributed single-sign-on framework. Users only need to log in once to access all trusted applications It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand. Now, it's already open source, real "out-of-the-box".

XXL-SSO 是一個分佈式單點登錄框架。只需要登錄一次就可以訪問所有相互信任的應用系統。 其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。現已開放源代碼,開箱即用。

項目特點

  • 1、簡潔:API直觀簡潔,可快速上手;

  • 2、輕量級:環境依賴小,部署與接入成本較低;

  • 3、單點登錄:只需要登錄一次就可以訪問所有相互信任的應用系統。

  • 4、分佈式:接入SSO認證中心的應用,支持分佈式部署;

  • 5、HA:Server端與Client端,均支持集群部署,提高系統可用性;

  • 6、實時性:系統登陸、註銷狀態,全部Server與Client端實時共享;

  • 7、CS結構:基於CS結構,包括Server"認證中心"與Client"受保護應用";

  • 8、跨域:支持跨域應用接入SSO認證中心;

開發環境

  • JDK:1.7+

  • Redis:4.0+

  • Mysql:5.6+

架構圖

《分佈式單點登錄框架XXL-SSO》已開放源代碼,開箱即用

功能定位

XXL-SSO 是一個分佈式單點登錄框架。只需要登錄一次就可以訪問所有相互信任的應用系統。

藉助 XXL-SSO,可以快速實現分佈式系統單點登錄。

核心概念

概念說明
SSO Server中央認證服務,支持集群;
SSO Client接入SSO認證中心的Client應用;
SSO SessionId登錄用戶會話ID,SSO 登錄成功為用戶自動分配;
SSO User 登錄用戶信息,與 SSO SessionId 相對應;

登錄流程剖析

  • 用戶於Client端應用訪問受限資源時,將會自動 redirect 到 SSO Server 進入統一登錄界面。

  • 用戶登錄成功之後將會為用戶分配 SSO SessionId 並 redirect 返回來源Client端應用,同時附帶分配的 SSO SessionId。

  • 在Client端的SSO Filter裡驗證 SSO SessionId 無誤,將 SSO SessionId 寫入到用戶瀏覽器Client端域名下 cookie 中。

  • SSO Filter驗證 SSO SessionId 通過,受限資源請求放行;

開源協議

GPL3.0

《分佈式單點登錄框架XXL-SSO》已開放源代碼,開箱即用


分享到:


相關文章: