注解鉴权增加LoginKey属性,用于多账号模式下的注解鉴权支持

This commit is contained in:
shengzhang
2021-05-04 00:26:44 +08:00
parent 76dd333c9b
commit 479b40b92b
14 changed files with 171 additions and 214 deletions

View File

@@ -26,12 +26,23 @@
1. 新建一个新的权限验证类,比如: `StpUserUtil.java`
2.`StpUtil.java`类的全部代码复制粘贴到 `StpUserUtil.java`
3. 更改一下其 `LoginKey` 比如:
``` java
// 底层的 StpLogic 对象
public static StpLogic stpLogic = new StpLogic("user"); // 将 LoginKey 改为 user
public class StpUserUtil {
/**
* 账号体系标识
*/
public static final String KEY = "user"; // 将 LoginKey 从`login`改为`user`
// 其它代码 ...
}
```
4. 接下来就可以像调用`StpUtil.java`一样调用 `StpUserUtil.java`了,这两套账号认证的逻辑是完全隔离的
> 成品样例参考:[码云 StpUserUtil.java](https://gitee.com/click33/sa-plus/blob/master/sp-server/src/main/java/com/pj/current/satoken/StpUserUtil.java)
### 进阶
假设我们不仅需要在后台同时集成两套账号我们还需要在一个客户端同时登陆两套账号业务场景举例一个APP中可以同时登陆商家账号和用户账号
@@ -46,9 +57,9 @@
public static StpLogic stpLogic = new StpLogic("user") {
// 重写 `splicingKeyTokenName` 函数,返回一个与 `StpUtil` 不同的token名称, 防止冲突
@Override
public String splicingKeyTokenName() {
return super.splicingKeyTokenName()+"-user";
}
public String splicingKeyTokenName() {
return super.splicingKeyTokenName() + "-user";
}
};
```