用途:在 DDD4J 项目中正确使用 Sa-Token 的扩展用法。LLM 熟悉 Sa-Token 标准 API,但不了解 DDD4J 的 StpKit 扩展模式,本技能用于纠正这些偏差。
主要能力:StpKit 扩展载荷,登录时注入 user/org/role,获取时用 StpUtil.getExtra();SaTempKit 一次性临时令牌工具;Sa-Token 异常与 ApiRestResponse 的统一处理;StpKit 门面模式区分用户与管理员多账号体系。
常见错误与正确做法:用 StpUtil.getExtra("uuid")/getExtra("username") 而非 getLoginId();登录时注入扩展载荷而非只传 userId;用 SaTempKit.createToken() 而非 SaTempUtil.createToken();异常集成到 GlobalExceptionHandler 返回 ApiRestResponse;用 StpKit 指定账号体系登录;跨服务鉴权用 Same-Token + SaSameUtil 而非 Authorization header。
用法要点:登录时通过 SaLoginParameter.setExtra 注入 uuid、username、orgId、role、realName;用 StpUtil.getExtra 读取;SaTempKit.createToken(userId, 300) 创建临时令牌,SaTempKit.parseToken 解析;网关用 SaSameUtil.getToken() 注入,子服务用 SaSameUtil.checkCurrentRequestToken() 校验,并用 @Scheduled(cron = "0 0/5 * * * ?") 定时刷新。
限制:扩展载荷仅在 JWT 模式下生效,非 JWT 模式数据存于 Redis;SaTempKit 为 DDD4J 封装,需引入 sa-token-temp-jwt;Same-Token 默认一天有效期,生产环境须配置定时刷新;@SaCheckPermission 需在 StpInterface 注册权限码;Sa-Token 异常需统一转换。Sa-Token 基础 API 与实体/Controller/Service 约定不在本技能范围内。本技能不收集、存储或传输任何用户数据。