这个项目能做什么
Sa-Token 是由 dromara 社区维护的轻量级 Java 权限认证框架,采用 Apache-2.0 协议开源,当前版本为 v1.46.0,支持 JDK 8 至 25。项目定位为“一站式”鉴权解决方案,核心模块包括登录认证、权限认证、单点登录(SSO)、OAuth2.0 以及微服务鉴权。
在登录认证方面,框架通过静态调用即可完成会话登录与校验,例如 StpUtil.login(账号id) 完成登录、StpUtil.checkLogin() 校验登录状态,未登录时抛出 NotLoginException。权限认证支持注解式与路由拦截式两种方式:注解如 @SaCheckPermission("user:add") 可将鉴权与业务代码分离;路由拦截则通过 SaInterceptor 与 SaRouter.match 按路径模块划分权限。
框架覆盖的功能点较多,README 中列出的包括:单端/多端登录、同端互斥登录、记住我模式、二级认证、踢人下线(按账号 id 或 Token 值)、账号封禁、临时身份切换、模拟他人账号、会话查询、全局侦听器与全局过滤器、多账号体系认证、Http Basic/Digest 认证、密码加密工具、临时 Token、独立 Redis、自动续签、标签方言(Thymeleaf、beetl)等。持久层可集成 Redis 实现重启数据不丢失,并支持前后台分离场景下 APP、小程序等无 Cookie 终端的鉴权。
SSO 模块提供三种模式:模式一适用于前端同域且后端同 Redis,通过共享 Cookie 同步会话;模式二适用于前端不同域但后端同 Redis,通过 URL 重定向传播会话;模式三适用于前端不同域且后端不同 Redis,通过 HTTP 请求校验 ticket 获取会话。项目还提供 NoSdk 模式示例与 sso-server 接口文档,便于非 Java 项目对接,并包含域名校验、ticket 校验、参数签名校验等安全措施。
OAuth2 模块支持授权码式、隐藏式、密码式和客户端凭证式四种授权模式。此外,框架提供 JWT 集成(三种模式)、RPC 调用鉴权与状态传递(dubbo、grpc 等)、API Key 秘钥授权、API 参数签名(防篡改、防重放)等能力。
集成方面,除 SpringBoot 2 外,还提供 SpringBoot 3/4、Solon、JFinal 等框架的集成包,并适配 Gateway、ShenYu、Zuul 等网关的路由拦截认证。项目附带 60 多个独立示例,覆盖登录认证、权限认证、SSO、OAuth2、微服务鉴权、JWT、参数签名等场景,并提供多语言实现版本(Rust、Go、NodeJS、PHP)的社区链接。
文档以中文为主,同时提供繁体中文、英文、日文、韩文、俄文版本。README 中列举了多个集成案例,如 Snowy、RuoYi-Vue-Plus、Smart-Admin、橙单、灯灯、拾壹博客等,并提及 Gitee GVP、GitCode G-Star 等社区荣誉。
评论
0 评分人数达到10人后显示
登录后参与讨论。