news 2026/7/1 3:13:55

Sa-Token:48,800+ Star 的背后让鉴权变得简单优雅

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sa-Token:48,800+ Star 的背后让鉴权变得简单优雅

1. 项目背景

根据 Statista 数据,2025 年全球身份认证市场规模已达 285 亿美元,预计 2027 年将突破 400 亿。在 Java 生态中,权限认证框架一直是企业级开发的核心基础设施。然而 Shiro 配置繁琐、Spring Security 学习曲线陡峭,让大量开发者望而却步。Sa-Token 以**"让鉴权变得简单、优雅"**为理念,七年迭代已成为 Gitee 最受欢迎的认证框架。

  • Gitee 地址:https://gitee.com/dromara/sa-token

  • Star 数:48,800+(Gitee 推荐项目排行榜第一)

  • 语言:Java

  • License:Apache-2.0

2. 目标用户

  • Java 后端开发者:需要在 SpringBoot/Solon 项目中快速集成权限认证

  • 中小企业技术团队:缺乏专业安全团队,需要开箱即用的认证方案

  • 微服务架构团队:需要网关鉴权、分布式会话、SSO 单点登录

  • 开源项目维护者:寻找轻量级、文档完善的权限框架

3. 平台定位

Sa-Token 定位为一站式 Java 权限认证框架,核心愿景是降低权限开发的门槛。它不是 Shiro 或 Spring Security 的封装套壳,而是从零自研的纯血框架,覆盖登录认证、权限认证、SSO 单点登录、OAuth2.0、微服务鉴权五大核心场景。

4. 平台技术

  • 核心框架:Java,零依赖设计(核心包无第三方依赖)

  • Web 框架适配:SpringBoot 2/3/4、Solon、JFinal、WebFlux

  • 持久层扩展:支持 Redis、内存、数据库等多种存储方式

  • Token 引擎:内置 6 种 Token 风格(简单式、UUID、Simple-UUID、随机数字、JWT 简单模式、JWT 模式)

  • 协议支持:OAuth2.0、JWT、Http Basic、API 参数签名

5. 核心功能

  • 🔐 登录认证:单端/多端登录、同端互斥、七天免登录、记住我模式

  • 🛡️ 权限认证:权限/角色认证、注解式鉴权、路由拦截式鉴权、二级认证

  • 🌐 SSO 单点登录:三种模式覆盖同域/跨域/不同 Redis 场景,参数精准不丢失

  • 🔑 OAuth2.0:授权码式、隐藏式、密码式、客户端凭证式四种模式

  • 🏗️ 微服务鉴权:适配 Gateway/ShenYu/Zuul 网关,支持 Dubbo/gRPC RPC 调用鉴权

  • 📝 实用插件:短 Token、API Key 授权、参数签名、自动续签、账号封禁

6. 独特优势

  • 极简 API:一行代码完成登录StpUtil.login(10001),一行代码完成鉴权StpUtil.checkLogin()

  • 完整文档:七年打磨的中文文档,几乎每句话经过反复修改,学习成本极低

  • 社区活跃:25+ 微信群(500 人)、8+ QQ 群(1000-2000 人),月 PV 20 万+

  • 永久免费:Apache-2.0 协议,框架和文档永久免费开放

  • 权威认证:Gitee GVP 项目、GitCode G-Star、OSCHINA 年度最火热开源社区之一

7. 安装使用

Maven 引入

<dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-spring-boot-starter</artifactId> <version>1.45.0</version> </dependency>

Gradle 引入

implementation 'cn.dev33:sa-token-spring-boot-starter:1.45.0'

快速开始——登录认证

// 一行代码完成登录 StpUtil.login(10001); // 校验登录状态 StpUtil.checkLogin(); // 获取当前登录 ID long id = StpUtil.getLoginIdAsLong();

权限认证——注解方式

// 只有具备 user:add 权限才能访问 @SaCheckPermission("user:add") @PostMapping("/user/add") public String addUser(@RequestBody SysUser user) { return "用户添加成功"; }

路由拦截鉴权

@Configuration public class SaTokenConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new SaInterceptor(handle -> { SaRouter.match("/user/**", r -> StpUtil.checkPermission("user")); SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin")); })).addPathPatterns("/**"); } }

集成 Redis(持久化会话)

<!-- 引入 Sa-Token 整合 Redis --> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-dao-redis-jackson</artifactId> <version>1.45.0</version> </dependency> <!-- 提供 Redis 连接池 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>

8. 应用场景

  • 企业后台管理系统:快速搭建 RBAC 权限体系,支持多角色、多权限精细化管理

  • 多系统 SSO 统一登录:三种 SSO 模式覆盖各种部署架构,参数不丢失是独特优势

  • 微服务网关鉴权:在 Gateway 层统一拦截,后端服务无需重复实现认证逻辑

  • 前后端分离项目:支持 Token 模式,适配 APP、小程序等不支持 Cookie 的终端

  • 多账号体系:一个系统多套账号分开鉴权(如商城的 User 表和 Admin 表独立认证)


总结

Sa-Token 用七年时间证明了**"简单就是力量"。48,800+ Star 的背后,是大量开发者对 Shiro 和 Spring Security 复杂配置的共同反抗。如果你正在寻找一个一行代码就能用、文档写得比代码还详细、社区活跃到随时有人答疑**的认证框架,Sa-Token 值得作为首选。

项目地址:https://gitee.com/dromara/sa-token

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 3:13:12

【Java项目技术亮点】优雅停机Graceful Shutdown

写在前面 说实话&#xff0c;优雅停机这个知识点我见过太多人掉以轻心了。去年我们组一个新同事上线&#xff0c;直接kill -9干掉了线上进程&#xff0c;结果正在处理的200多笔支付请求全断了&#xff0c;用户钱扣了订单没生成&#xff0c;客服电话被打爆&#xff0c;第二天还被…

作者头像 李华
网站建设 2026/7/1 3:12:29

福州衣柜橱柜定制全攻略:从刚需到高端的品牌选择建议

衣柜与橱柜是全屋定制里的刚需品类&#xff0c;也是每个家庭装修的必选项&#xff0c;从几百元一投影的平价套餐到上千元的高端定制&#xff0c;市场价格跨度大&#xff0c;品牌鱼龙混杂。很多业主第一次装修&#xff0c;容易被低价套餐吸引&#xff0c;最终在环保、工艺、售后…

作者头像 李华
网站建设 2026/7/1 3:08:08

Platinum-MD:三分钟搞定MiniDisc音乐传输的终极解决方案

Platinum-MD&#xff1a;三分钟搞定MiniDisc音乐传输的终极解决方案 【免费下载链接】platinum-md Minidisc NetMD Conversion and Upload 项目地址: https://gitcode.com/gh_mirrors/pl/platinum-md 还在为SonicStage的复杂操作而烦恼吗&#xff1f;想将高品质音乐传输…

作者头像 李华
网站建设 2026/7/1 3:06:35

RedisDesktopManager-Windows:三步掌握专业级Redis数据库管理工具

RedisDesktopManager-Windows&#xff1a;三步掌握专业级Redis数据库管理工具 【免费下载链接】RedisDesktopManager-Windows RedisDesktopManager Windows版本 项目地址: https://gitcode.com/gh_mirrors/re/RedisDesktopManager-Windows RedisDesktopManager-Windows是…

作者头像 李华
网站建设 2026/7/1 3:05:00

课堂时间总不够用?这5个环节压缩技巧让教学节奏更从容

作为一名一线教师&#xff0c;你是否经常感到课堂时间不够用&#xff1f;一堂课下来&#xff0c;总是感觉内容讲不完&#xff0c;学生也听得云里雾里。其实&#xff0c;通过一些简单的技巧&#xff0c;我们可以有效压缩某些环节的时间&#xff0c;让教学节奏更加从容。今天就来…

作者头像 李华