项目详情

Sa-Token

一行代码搞定 Java 权限认证的轻量级框架

GitHub 地址 Apache-2.0 Java v1.45.0

更新于 2026-07-23

← 返回汇总
项目速览

一句话定位

一行代码搞定 Java 权限认证

轻量级 Java 权限认证框架。五大核心模块(登录、鉴权、SSO、OAuth2.0、微服务)+ 40+ 实用功能,开箱即用零配置。适合受够了 Spring Security 繁琐配置、想要中文文档 + 快速上手的国内 Java 团队。

项目速览

核心数据

19k
GitHub Star
48.6k
Gitee Star
7 年
项目历史
2649
Commits

Gitee 全平台推荐项目排名第一;GitHub Star 是 Spring Security 的 1.97 倍、Apache Shiro 的 4.19 倍。

为什么存在

传统鉴权框架的三个痛点

Spring Security 太重

配置链路长、概念抽象,简单登录要写一堆 Filter/Provider/Context。学习曲线陡。

Shiro 停滞老旧

老牌框架但更新慢,对微服务、前后端分离、SSO 等现代架构支持弱。

重复造轮子

登录、踢人、记住我、权限、SSO……每个项目都手写一遍,没有统一方案。

核心理念

一句话登录,一行代码鉴权

无需实现任何接口,无需任何配置文件,一句静态调用完成会话登录。

// 1. 会话登录,参数填账号 id
StpUtil.login(10001);

// 2. 校验是否已登录,未登录则抛 NotLoginException
StpUtil.checkLogin();

// 3. 踢人下线
StpUtil.kickout(10077);
核心机制

五种鉴权风格,按场景选用

代码式
StpUtil.checkLogin()
业务代码内直接调用,最灵活。需要时才校验。
注解式
@SaCheckPermission("user:add")
优雅分离鉴权与业务代码。支持权限、角色、登录、二级认证注解。
路由拦截
SaInterceptor + SaRouter
按路由划分模块,适配 Restful。一处配置全局生效。
全局过滤器
SaServletFilter
处理跨域、全局安全响应头,更底层的拦截层。
功能全景

五大核心模块

模块覆盖能力
登录认证单端/多端登录、同端互斥(QQ 式)、记住我、七天免登录
权限认证权限/角色认证、二级认证、会话查询、模拟他人账号、临时身份切换
单点登录 SSO三种模式:同域同 Redis、跨域同 Redis、跨域跨 Redis;单点注销
OAuth2.0四种授权模式:授权码、隐藏式、密码式、客户端凭证;支持 openid
微服务鉴权Gateway/ShenYu/Zuul 网关拦截、Dubbo/gRPC RPC 调用状态传递、API 参数签名
功能全景

40+ 实用能力

架构设计

分层架构与扩展点

API 层
StpUtil / StpLogic
静态门面,一行代码调用。StpLogic 可按账号体系多实例化。
集成层
sa-token-starter
SpringBoot2/3/4、Solon、JFinal、WebFlux 等框架集成包,开箱即用。
核心层
sa-token-core
框架内核:登录、鉴权、会话、Token 生成的全部业务逻辑。
持久层
SaTokenDao(可插拔)
默认内存,可换 Redis(重启不丢)、独立 Redis(权限缓存与业务缓存分离)。
快速上手

三步接入 SpringBoot

<!-- 1. pom.xml 引入依赖 -->
<dependency>
  <groupId>cn.dev33</groupId>
  <artifactId>sa-token-spring-boot-starter</artifactId>
  <version>1.45.0</version>
</dependency>

// 2. 注册拦截器(可选,做路由级鉴权时需要)
registry.addInterceptor(new SaInterceptor(handler -> {
    SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
})).addPathPatterns("/**");

// 3. 业务里直接用 StpUtil
StpUtil.login(10001);  // 完成
框架对比

vs Spring Security / Shiro

维度Sa-TokenSpring SecurityShiro
上手成本极低,零配置高,配置链长
文档中文,七年打磨英文为主英文为主
SSO/OAuth2内置开箱即用需额外配置需扩展
微服务网关鉴权原生支持需自行整合
生态国内活跃Spring 全家桶绑定更新慢

注:Spring Security 在 Spring 生态深度集成与企业级安全上有不可替代性,Sa-Token 胜在「够用且简单」。

适用场景

适合谁用

风险提示

需要权衡

生态与荣誉

Dromara 顶尖项目

潜力评估

未来空间

国内 Java 权限认证领域事实标准之一。凭借极简 API + 中文文档护城河,在中小项目与微服务场景持续吃份额。天花板取决于能否突破中文圈走向国际化,以及微服务/云原生鉴权的持续演进。


上一个
Hyprland
返回
汇总页
1 / 16