2.2k star 单点登录框架揭秘!主流SSO太重?SpringBoot轻量级Smart‑SSO轻松接入·分布式·强踢人

简介: Smart-SSO 是一个基于 SpringBoot 的轻量级单点登录框架,采用 OAuth2 授权码与 RBAC 权限设计,解决跨域认证、单点退出、令牌过期等痛点。支持自动续签、强制踢人、按钮级权限控制及分布式部署,适合中小团队快速构建高可用认证中台。项目已获 2.2k Star,代码开源,接入简单,是企业级应用的理想选择。[详情见 GitHub](https://github.com/a466350665/smart-sso)。

嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先行业一步。👉免费订阅,与10万+技术人共享升级秘籍!

Smart‑SSO 依托当下备受青睐的 SpringBoot 技术,以 OAuth2 认证结合 RBAC 权限设计为基础,为您塑造一个轻量级、高可用的单点认证授权中心

引入痛点场景

许多企业级应用在面对复杂流程时会遇到如下问题:

  • 跨域认证难题:多个应用分域部署,Cookie 无法共享,用户频繁登录体验差。
  • 单点退出复杂:退出一个系统,其他系统仍然保持登录状态,体验不一致。
  • 踢人下线不安全:管理员无法实时终止指定用户会话。
  • 令牌过期引发中断:access token 一过期,服务请求失败,用户不知所措。
  • 按钮级权限需求迫切:不只是页面访问,操作按钮也需细粒度控制。
  • 分布式部署与高可用:多实例部署时,Token 无共享机制引发一致性问题。

核心功能亮点

轻量级 OAuth2 授权码实现

  • 基于 SpringBoot 和 OAuth2 授权码标准流程,简洁、开箱即用。
  • 得益于 starter 模块,即刻启动 SSO 中心与客户端集成。

单点退出机制

  • 客户端获取 Token 时传入注销地址;服务器端登出推送各客户端,实现统一退出。

自动续签(Silent Refresh)

  • 客户端后端自动监听 accessToken 过期,调用 refreshToken 接口平滑续签,增强用户体验。

强制踢人下线

  • 管理员可实时吊销某用户登录凭证;SSO 中心通知所有客户端立即失效该用户 sessions。

跨域支持 & 前后端分离

  • 支持多域名部署,无 Cookie 模式下也可灵活实施认证和登出机制。

按钮级权限控制

  • 权限模型可区分菜单级和按钮级,通过 URI + HTTP 方法精准控制接口访问。

分布式部署及 Redis 支持

  • Token 存储可接 Redis 集群,支持多实例部署,解决空状态、负载问题。

技术架构图与优势

整体架构图

单点登录原理

单点退出原理

项目结构

smart-sso
├── smart-sso-demo -- 客户端示例
├── smart-sso-demo-h5 -- 前后端分离客户端示例
├── smart-sso-server -- 单点登录权限管理服务端
├── smart-sso-starter -- 依赖装配模块
│   ├── smart-sso-starter-base -- 公用的基础常量、工具、凭证清理机制
│   ├── smart-sso-starter-client -- 客户端依赖包,客户端Token生命周期管理
│   ├── smart-sso-starter-client-redis -- 客户端依赖装配,分布式部署场景redis支持
│   ├── smart-sso-starter-server -- 服务端依赖包,服务端凭证生命周期管理
│   ├── smart-sso-starter-server-redis -- 服务端依赖装配,分布式部署场景redis支持

技术优势整理

维度 优势
认证机制 OAuth2 授权码规范 + RBAC,安全合规
Token 管理 Access+Refresh 双机制,自动续签+踢人控制
分布式能力 Redis 支持,多节点无状态扩展
易用性 SpringBoot starter 快速集成
权限粒度 菜单级 + 按钮级控制,接口防护更精准
跨域支持 支持无 Cookie 架构下的 SPA 应用认证

界面效果展示

单点登录页

用户输入账号密码后重定向至客户端,体验无缝流畅。

客户端登录成功页

成功获取 Token 后显示欢迎界面,并可访问更多功能。

SSO 管控后台

展示当前在线用户、Token 列表、刷新历史记录界面。

单点退出与踢人功能

一键下线,实时通知所有客户端,即刻生效。

应用场景举例

  • 微服务架构中心认证:多个子系统共享认证中心。
  • 前后端分离 SPA:Vue/React 应用中轻松使用。
  • B2B 平台权限精细化控制:按钮级区分管理员与普通用户操作权限。
  • 高并发分布式系统:多实例部署,Redis 做缓存和会话同步。
  • 安全敏感系统:支持单点退出、踢人、Refresh 逻辑,保障资产安全。

同类项目对比分析

项目 授权协议 单点退出 自动续签 按钮权限 分布式 入门便利
Smart‑SSO OAuth2 授权码 ✅推送登出通知 ✅Refresh 支持 ✅URI+方法 ✅Redis ✅starter 模块
Keycloak OAuth2 + OpenID ✅SPM 内建 ✅Refresh 支持 ✅稍微复杂 ✅集群 ❌较重,需管理
CAS Proprietary ✅Logout ❌无内置续签 ❌需扩展 ✅集群 ❌非 OAuth2 标准
自研 JWT JWT ❌难实现 ✅JWT exp自动 ❌无控制机制 ✅分布式 ✅轻便

Smart‑SSO 在 OAuth2 标准实现 + 运维轻量 + 按钮粒度权限 + 分布式 + 自动续签 等维度综合表现突出,适合中小团队快速建设高可用 SSO 中间件平台。

常见实施步骤与代码示例

1. 快速启动服务端

@SpringBootApplication
public class SmartSsoServerApplication {
 public static void main(String[] args) {
   SpringApplication.run(SmartSsoServerApplication.class, args);
 }
}

application.yml 中配置数据库、Redis、端口等:

server:
 port: 8080
spring:
 datasource:
   url: jdbc:mysql://localhost:3306/smart_sso
   username: root
   password: root
 redis:
   host: localhost
   port: 6379

2. 客户端接入示例

添加 starter 依赖:

<dependency>
 <groupId>com.smart.sso</groupId>
 <artifactId>smart-sso-starter-client</artifactId>
 <version>最新版</version>
</dependency>

application.yml 配置:

smart:
 sso:
   server-url: http://sso.example.com:8080
   client-id: demo-client
   client-secret: xxxxx
   logout-url: http://demo-app/logout/callback

3. 功能测试流程

graph TB
 User --> App[客户端]
 App --> SSO[认证中心]
 SSO --> App
 App --> SSO{accessToken expires?}
 SSO --> App via refreshToken

项目总结

  • 轻量化、标准实现,SpringBoot + OAuth2 + RBAC。
  • 🛡️ 安全性格外突出:单点退出、踢人下线能力。
  • 🔄 使用体验丝滑:自动续签完美平滑过期交互。
  • 🌍 架构应用广泛:跨域、前后端分离、分布式集群。
  • 🎯 精细权限控制:按钮级权限保障接口安全。

Smart‑SSO 几乎集齐 SSO 中核心高频需求,是中小团队构建认证中台的得力助手。

同类项目简介

  • Keycloak:JBoss 提供的全功能身份认证中台,支持 OAuth2、OpenID、LDAP、Kerberos、多组织,但体积较大、上手略复杂。
  • CAS:老牌 SSO 工具,支持单点退出,但非 OAuth2 标准,按钮权限需开发者自拓展。
  • 自定义 JWT+OAuth:实现灵活,但是需自行补足踢下线和单退出机制,开发成本高且易出错。

项目地址

https://github.com/a466350665/smart-sso

相关文章
|
6月前
|
安全 数据安全/隐私保护
DzzOffice:太完美啦,开源免费Word、Exce、PPT,多人同时协作,最主要还有免费的网盘,将这个项目集成到你的产品里面,项目立刻拥有整套offce解决方案
嗨,大家好,我是小华同学。DzzOffice是一个免费开源的企业协同办公平台,适合中小型企业及团队使用,功能涵盖网盘、文档、表格、演示文稿等,支持企业微信和钉钉移动办公,保障数据私有部署安全。 关注我们,获取更多优质开源项目和高效工作学习方法。
908 5
|
2月前
|
人工智能 监控 API
狂揽22.6k星!这个开源工具让你一键调用100+大模型,开发效率直接起飞!
LiteLLM是由BerriAI团队开发的开源项目,通过标准化OpenAI格式API接口,支持调用100+主流大语言模型(如OpenAI、Azure、Anthropic等)。其核心功能包括统一调用方式、企业级智能路由、异步流式响应及环境变量管理。项目适用于企业AI中台搭建、多模型对比测试、教育科研实验等场景。技术架构涵盖接口层、路由层、管理层与监控层,提供高效稳定的服务。相比LangChain、LlamaIndex等项目,LiteLLM在多平台混合开发方面优势显著。项目地址:https://github.com/BerriAI/litellm。
161 2
|
15天前
|
机器学习/深度学习 达摩院 PyTorch
GitHub 1.3k 一款能“填色回忆”的神器:DDColor 让老照片鲜活又逼真
DDColor 是阿里达摩院推出的图像自动着色模型,采用双解码器架构与 Colorfulness Loss 技术,实现黑白图到高保真彩色图的智能转换。支持 GPU/CPU 推理,兼容历史照片、动画、游戏截图等多场景,具备高效、真实、多样、易用等特点,广泛适用于影像修复、艺术创作等领域。
108 24
|
23天前
|
数据采集 人工智能 并行计算
惊了!Hugging Face 这款开源 TTS 能情感自由切换,Parler‑TTS 斩获 5.3K star,支持 34 角色+实时风格自定义,开源 TTS 新标杆
Hugging Face 开源轻量级 TTS 模型 Parler-TTS,支持情感自由切换、34 种说话人选择及实时风格自定义。提供 Mini 与 Large 两个版本,训练数据丰富,生成语音自然高质量,适配多种应用场景,助力高效语音开发。
|
2月前
|
人工智能 自然语言处理 程序员
不是ManusAI用不起,而是AgenticSeek更有性价比,炸裂的项目,100%本地运行的AI秘书,真的丝滑啦!
AgenticSeek是一款开源本地AI助手,基于DeepSeek R1模型构建,无需云端支持,确保隐私安全。它能执行智能上网、编程辅助、任务调度、文件管理和语音交互等多功能操作,完全离线运行,适用于多种场景如网络安全扫描、代码迁移及学术研究等。相比Manus AI等工具,AgenticSeek具备更高性价比与更强隐私保护,是用户实现高效生产力的理想选择。项目已在GitHub收获12.3k+星,欢迎体验!
261 5
|
1月前
|
前端开发 JavaScript 关系型数据库
终于找到它了,别再等客户提需求才开始找,开发者必备!这个开源HR工具竟然能替代市面上90%的人事系统,还能免费商用!
Frappe HR 是一款开源、现代化的人力资源与薪资管理软件,基于 Frappe 框架构建,提供员工全生命周期管理、请假考勤、费用报销、绩效管理和薪资税务处理等功能。支持移动应用和多种部署方式(托管或本地),技术架构稳定且可扩展。相比同类项目,Frappe HR 具备高度自定义能力与成本效益,适合各规模企业。项目地址:https://github.com/frappe/hrms。
|
2月前
|
存储 JSON 数据格式
什么情况,一夜之间冲上热搜,狂揽29.6k星,再见吧SQLite!这个嵌入式分析引擎实在太香了
DuckDB是一款嵌入式OLAP数据库,专为高效分析型查询设计,被誉为“分析型SQLite”。它采用列式存储和向量化查询引擎,显著提升分析任务性能。无需独立服务器,支持Python、R、Java等语言,安装简单,5分钟即可上手。DuckDB可直接查询CSV、JSON、Parquet文件,支持Pandas零拷贝交互,优化SQL语法简化复杂查询。适用于探索性数据分析、数据湖ETL流水线及边缘设备实时分析等场景,是数据科学家和开发者的理想工具。项目地址:https://github.com/duckdb/duckdb
|
29天前
|
SQL 人工智能 关系型数据库
GitHub 热门!MindsDB 破解 AI + 数据库瓶颈,究竟有什么惊艳亮点?只需 SQL 即可实现智能预测
MindsDB 是一款将 AI 能力直接注入数据库的开源工具,支持 MySQL、PostgreSQL 等多种数据库连接,通过 SQL 即可完成模型训练与预测。它提供 AutoML 引擎、LLM 集成、联邦查询等功能,简化 MLOps 流程,实现数据到智能的无缝衔接。项目在 GitHub 上已获 32.4k 星,社区活跃,适用于客户流失预警、推荐系统、情感分析等场景。开发者无需深入模型细节,即可快速构建智能解决方案。项目地址:https://github.com/mindsdb/mindsdb。
140 0
|
2月前
|
人工智能 数据安全/隐私保护 Docker
短短时间,疯狂斩获1.9k star,开源AI神器AingDesk:一键部署上百模型,本地运行还能联网搜索!
AingDesk 是一款开源的本地 AI 模型管理工具,已获 1.9k Star。它支持一键部署上百款大模型(如 DeepSeek、Llama),适配 CPU/GPU,可本地运行并联网搜索。五大核心功能包括零门槛模型部署、实时联网搜证、私人知识库搭建、跨平台共享和智能体工厂,满足学术、办公及团队协作需求。相比 Ollama 和 Cherry Studio,AingDesk 更简单易用,适合技术小白、团队管理者和隐私敏感者。项目地址:https://github.com/aingdesk/AingDesk。
307 3
|
1月前
|
前端开发 搜索推荐 NoSQL
错过就亏大了!这款开源 IM 项目,功能强大、部署简单,适合私有化部署,开发者必收藏!
Lumen IM 是一个基于 Vue3 + Naive UI 前端与 Go 后端的开源即时通讯系统,支持私聊、群聊、文件传输、消息撤回等功能,适用于企业内部沟通及开发者学习。项目采用 WebSocket 实现即时消息推送,技术栈包括 MySQL、Redis 和 Minio 等,确保高效稳定运行。界面简约美观,操作便捷,并支持笔记功能和个性化设置。无论是企业使用还是二次开发,Lumen IM 都是一个优质选择
113 0