From 6207637e8672813ec9c5481cd4dffad61740c2e9 Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Tue, 5 Jul 2022 18:52:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=96=87=E6=A1=A3=EF=BC=9A?= =?UTF-8?q?=E5=9C=A8=E5=A4=9A=E8=B4=A6=E6=88=B7=E6=A8=A1=E5=BC=8F=E4=B8=AD?= =?UTF-8?q?=E9=9B=86=E6=88=90=20jwt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-doc/doc/plugin/jwt-extend.md | 55 ++++++++++++++++++--------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/sa-token-doc/doc/plugin/jwt-extend.md b/sa-token-doc/doc/plugin/jwt-extend.md index 3c11c169..e1cfad82 100644 --- a/sa-token-doc/doc/plugin/jwt-extend.md +++ b/sa-token-doc/doc/plugin/jwt-extend.md @@ -111,26 +111,8 @@ public class LoginController { eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbklkIjoiMTAwMDEiLCJybiI6IjZYYzgySzBHVWV3Uk5NTTl1dFdjbnpFZFZHTVNYd3JOIn0.F_7fbHsFsDZmckHlGDaBuwDotZwAjZ0HB14DRujQfOQ ``` -### 5、扩展参数 -你可以通过以下方式在登录时注入扩展参数: -``` java -// 登录10001账号,并为生成的 Token 追加扩展参数name -StpUtil.login(10001, SaLoginConfig.setExtra("name", "zhangsan")); - -// 连缀写法追加多个 -StpUtil.login(10001, SaLoginConfig - .setExtra("name", "zhangsan") - .setExtra("age", 18) - .setExtra("role", "超级管理员")); - -// 获取扩展参数 -String name = StpUtil.getExtra("name"); -``` - - - -### 6、不同模式策略对比 +### 5、不同模式策略对比 注入不同模式会让框架具有不同的行为策略,以下是三种模式的差异点(为方便叙述,以下比较以同时引入 jwt 与 Redis 作为前提): @@ -157,5 +139,40 @@ String name = StpUtil.getExtra("name"); +### 6、扩展参数 +你可以通过以下方式在登录时注入扩展参数: + +``` java +// 登录10001账号,并为生成的 Token 追加扩展参数name +StpUtil.login(10001, SaLoginConfig.setExtra("name", "zhangsan")); + +// 连缀写法追加多个 +StpUtil.login(10001, SaLoginConfig + .setExtra("name", "zhangsan") + .setExtra("age", 18) + .setExtra("role", "超级管理员")); + +// 获取扩展参数 +String name = StpUtil.getExtra("name"); +``` + + + +### 7、在多账户模式中集成 jwt +sa-token-jwt 插件默认只为 `StpUtil` 注入 `StpLogicJwtFoxXxx` 实现,自定义的 `StpUserUtil` 是不会自动注入的,我们需要帮其手动注入: + +``` java +/** + * 为 StpUserUtil 注入 StpLogicJwt 实现 + */ +@Autowired +public void setUserStpLogic() { + StpUserUtil.stpLogic = new StpLogicJwtForSimple(StpUserUtil.TYPE); + SaManager.putStpLogic(StpUserUtil.stpLogic); +} +``` + + +