From 5cde169e7f30283a4b184bd1bcde76071be498b5 Mon Sep 17 00:00:00 2001 From: shengzhang <2393584716@qq.com> Date: Tue, 4 May 2021 00:51:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84[=E5=A4=9A=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E4=BD=BF=E7=94=A8=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E9=89=B4=E6=9D=83]=E7=9A=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-doc/doc/use/many-account.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/sa-token-doc/doc/use/many-account.md b/sa-token-doc/doc/use/many-account.md index ca66043e..e442f1e0 100644 --- a/sa-token-doc/doc/use/many-account.md +++ b/sa-token-doc/doc/use/many-account.md @@ -44,6 +44,29 @@ public class StpUserUtil { > 成品样例参考:[码云 StpUserUtil.java](https://gitee.com/click33/sa-plus/blob/master/sp-server/src/main/java/com/pj/current/satoken/StpUserUtil.java) +### 在多账号模式下使用注解鉴权 +框架默认的注解鉴权 如`@SaCheckLogin` 只针对原生`StpUtil`进行鉴权 + +例如,我们在一个方法上加上`@SaCheckLogin`注解,这个注解只会放行通过`StpUtil.setLoginId(id)`进行登录的会话, +而对于通过`StpUserUtil.setLoginId(id)`进行登录的都会话,则始终不会通过校验 + +那么如何告诉`@SaCheckLogin`要鉴别的是哪套账号的登录会话呢?很简单,你只需要指定一下注解的key属性即可: + +``` java +// 通过key属性指定此注解校验的是我们自定义的`StpUserUtil`,而不是原生`StpUtil` +@SaCheckLogin(key = StpUserUtil.KEY) +@RequestMapping("info") +public String info() { + return "查询用户信息"; +} +``` + +注:`@SaCheckRole("xxx")`、`@SaCheckPermission("xxx")`同理,亦可根据key属性指定其校验的账号体系,此属性默认为`""`,代表使用原生`StpUtil`账号体系 + + + + + ### 进阶 假设我们不仅需要在后台同时集成两套账号,我们还需要在一个客户端同时登陆两套账号(业务场景举例:一个APP中可以同时登陆商家账号和用户账号)