Sa-Token 开发助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a36dc51e/sa-token-dev
技能介绍
要解决的问题
Sa-Token 项目的常见故障往往不是 API 不熟,而是路线选错。比如同时引入 sa-token-spring-boot-starter 与 sa-token-reactor-spring-boot-starter 导致无法启动;使用 @SaCheckPermission 却未注册 SaInterceptor;前后端分离没有返回 tokenValue;Spring Boot 3.x 里 Redis 前缀仍写 spring.redis;封禁账号未先 kickout;默认把 JWT 当成必要组件。
技能如何工作
先执行依赖探测,在 pom.xml 或 build.gradle 中查找 sa-token、spring-security、shiro。有 Sa-Token 则激活;没有且无替代框架则询问是否引入;已有 Spring Security 或 Shiro 则退出。随后逐字扫描 C1–C6 触发信号,例如 JWT、无状态、SSO、登录、鉴权、微服务、多账号。命中后只输出选择题,确认 token 风格、Cookie/Header 传递、鉴权粒度、SSO 模式、网关状态与多体系方案。确认方向后按决策路由读取本地 references/ 文件,如 01-setup.md、03-permission.md、05-interceptor-route.md、07-redis-frontsep.md、12-sso-oauth2.md、13-micro-service.md。编码前先对照 10-antipattern.md 与核心强约束,输出前做二值自检,避免漏掉拦截器、Redis 前缀、setError()、checkDisable() 等关键点。
适用边界与注意点
适用于 Java/Spring Boot 项目,推荐 1.46.0+,兼容 1.40.x+。不适用于 Go、Python、Node.js、纯 JWT 自实现或已有 Spring Security/Shiro 的迁移场景。SaSession 不等于 HttpSession,权限和角色校验必须实现 StpInterface,后端必须二次校验,过滤器异常要用 .setError() 处理。JWT 不是默认方案:有状态场景默认 simple-uuid + Redis;无状态才使用 StpLogicJwtForStateless。1.46.0 升级要查 StpInterface.isDisabled 三参、loginId 冒号限制和 JWT extraData 保留字段;sa-token-jwt 建议避开 Hutool 5.8.13/5.8.14。
使用场景
- 在 Spring Boot 项目排查 Sa-Token 注解不生效,并补齐拦截器与白名单。
- 为前后端分离接口设计登录返回 tokenValue、前端塞 satoken 头和 Redis 共享会话。
- 微服务网关统一鉴权,选 Reactor starter、Same-Token 或内部隔离并处理依赖引入。
- 为多端登录体系规划 StpKit、独立 timeout、踢人封禁与二级认证。
适合人员
- 负责 Spring Boot 后端登录、鉴权和 Session 维护的 Java 工程师。
- 需要在微服务网关做统一鉴权和内部服务隔离的架构师。
- 要落地 SSO、OAuth2、多端登录或二级认证的团队负责人。
- 排查 Sa-Token 注解不生效、Redis 前缀、封禁流程等线上问题的后端开发者。