mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
1.4 KiB
1.4 KiB
多账号验证
问题
- 有的时候在一个项目中,我们会设计两套账号体系,比如一个商城的
user表
和admin表
- 这时候,我们就需要将两套账号的权限认证分开,防止冲突
核心思想
- sa-token在设计时充分考虑了多账号体系时的各种逻辑
- 以上几篇介绍的api,都是经过
StpUtil
类的各种静态方法进行各种验证,而如果你深入它的源码,点此阅览 - 就会发现,此类并没有任何代码逻辑,唯一做的事就是对成员变量
stpLogic
的各个API进行包装一下进行转发 - 这样做有两个优点
StpLogic
类的所有函数都可以被重写,按需扩展- 在构造方法时随意传入一个不同的
loginKey
,就可以再造一套账号登录体系
操作示例
比如说,对于StpUtil
类,我们只做admin账号
权限验证,而对于user账号
,我们则:
- 新建一个新的权限验证类,比如:
StpUserUtil.java
- 将
StpUtil.java
类的全部代码复制粘贴到StpUserUtil.java
里 - 更改一下其
loginKey
, 比如:
// 底层的 StpLogic 对象
public static StpLogic stpLogic = new StpLogic("user"); // loginKey改为user
- 接下来就可以像调用
StpUtil.java
一样调用StpUserUtil.java
了,这两套账号认证的逻辑是完全隔离的