mirror of
https://gitee.com/dromara/sa-token.git
synced 2026-02-27 16:50:24 +08:00
优化源码注释,更符合语义
This commit is contained in:
@@ -74,8 +74,8 @@ StpUtil.hasPermission("user:add"); // 查询当前账号是否含有指定权
|
||||
StpUtil.getSession(); // 获取当前账号id的Session
|
||||
StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的Session
|
||||
StpUtil.getTokenValueByLoginId(10001); // 获取账号id为10001的token令牌值
|
||||
StpUtil.login(10001, "PC"); // 指定设备标识登录,常用于“同端互斥登录”
|
||||
StpUtil.kickout(10001, "PC"); // 指定账号指定设备标识踢下线 (不同端不受影响)
|
||||
StpUtil.login(10001, "PC"); // 指定设备类型登录,常用于“同端互斥登录”
|
||||
StpUtil.kickout(10001, "PC"); // 指定账号指定设备类型踢下线 (不同端不受影响)
|
||||
StpUtil.openSafe(120); // 在当前会话开启二级认证,有效期为120秒
|
||||
StpUtil.checkSafe(); // 校验当前会话是否处于二级认证有效期内,校验失败会抛出异常
|
||||
StpUtil.switchTo(10044); // 将当前会话身份临时切换为其它账号
|
||||
|
||||
@@ -16,7 +16,7 @@ token信息Model: 用来描述一个token的常用参数
|
||||
"sessionTimeout": 2591977, // User-Session剩余有效时间 (单位: 秒)
|
||||
"tokenSessionTimeout": -2, // Token-Session剩余有效时间 (单位: 秒)
|
||||
"tokenActivityTimeout": -1, // token剩余无操作有效时间 (单位: 秒)
|
||||
"loginDevice": "default-device" // 登录设备标识
|
||||
"loginDevice": "default-device" // 登录设备类型
|
||||
},
|
||||
}
|
||||
```
|
||||
@@ -33,7 +33,7 @@ Sa-Token 无意发明任何晦涩概念提升逼格,但在处理 issues 、Q
|
||||
|
||||
#### 账号标识:
|
||||
- loginId:账号id,用来区分不同账号,通过 `StpUtil.login(id)` 来指定。
|
||||
- device:登录设备端,例如:`PC`、`APP`,通过 `StpUtil.login(id, device)` 来指定。
|
||||
- device:登录设备类型,例如:`PC`、`APP`,通过 `StpUtil.login(id, device)` 来指定。
|
||||
- loginType:账号类型,用来区分不同体系的账号,如同一系统的 `User账号` 和 `Admin账号`,详见:[多账号认证](/up/many-account)
|
||||
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
- 新增:角色认证增加API:`StpUtil.hasRoleAnd`、`StpUtil.hasRoleOr`
|
||||
- 新增:新增 `StpUtil.getRoleList()` 和 `StpUtil.getPermissionList()` 方法
|
||||
- 新增:新增 StpLogic 自动注入特性,可快速方便的扩展 StpLogic 对象
|
||||
- 优化:优化同端互斥登录逻辑,如果登录时没有指定设备标识,则默认顶替所有设备下线
|
||||
- 优化:优化同端互斥登录逻辑,如果登录时没有指定设备类型标识,则默认顶替所有设备类型下线
|
||||
- 优化:在未登录时调用 hasRole 和 hasPermission 不再抛出异常,而是返回false
|
||||
- 升级:升级注解鉴权算法,并提供更简单的重写方式
|
||||
- 文档:新增常见报错排查,方便快速排查异常报错
|
||||
|
||||
@@ -8,35 +8,35 @@
|
||||
## 具体API
|
||||
|
||||
在 Sa-Token 中如何做到同端互斥登录? <br/>
|
||||
首先在配置文件中,将 `isConcurrent` 配置为false,然后调用登录等相关接口时声明设备标识即可:
|
||||
首先在配置文件中,将 `isConcurrent` 配置为false,然后调用登录等相关接口时声明设备类型即可:
|
||||
|
||||
|
||||
#### 指定设备标识登录
|
||||
#### 指定设备类型登录
|
||||
``` java
|
||||
// 指定`账号id`和`设备标识`进行登录
|
||||
// 指定`账号id`和`设备类型`进行登录
|
||||
StpUtil.login(10001, "PC");
|
||||
```
|
||||
调用此方法登录后,同设备的会被顶下线(不同设备不受影响),再次访问系统时会抛出 `NotLoginException` 异常,场景值=`-4`
|
||||
|
||||
|
||||
#### 指定设备标识强制注销
|
||||
#### 指定设备类型强制注销
|
||||
``` java
|
||||
// 指定`账号id`和`设备标识`进行强制注销
|
||||
// 指定`账号id`和`设备类型`进行强制注销
|
||||
StpUtil.logout(10001, "PC");
|
||||
```
|
||||
如果第二个参数填写null或不填,代表将这个账号id所有在线端强制注销,被踢出者再次访问系统时会抛出 `NotLoginException` 异常,场景值=`-2`
|
||||
|
||||
|
||||
#### 查询当前登录的设备标识
|
||||
#### 查询当前登录的设备类型
|
||||
``` java
|
||||
// 返回当前token的登录设备
|
||||
// 返回当前token的登录设备类型
|
||||
StpUtil.getLoginDevice();
|
||||
```
|
||||
|
||||
|
||||
#### Id 反查 Token
|
||||
``` java
|
||||
// 获取指定loginId指定设备端的tokenValue
|
||||
// 获取指定loginId指定设备类型端的tokenValue
|
||||
StpUtil.getTokenValueByLoginId(10001, "APP");
|
||||
```
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ StpUtil.login(10001, new SaLoginModel().setTimeout(60 * 60 * 24 * 7));
|
||||
// ----------------------- 示例2:所有参数
|
||||
// `SaLoginModel`为登录参数Model,其有诸多参数决定登录时的各种逻辑,例如:
|
||||
StpUtil.login(10001, new SaLoginModel()
|
||||
.setDevice("PC") // 此次登录的客户端设备标识, 用于[同端互斥登录]时指定此次登录的设备名称
|
||||
.setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型
|
||||
.setIsLastingCookie(true) // 是否为持久Cookie(临时Cookie在浏览器关闭时会自动删除,持久Cookie在重新打开后依然存在)
|
||||
.setTimeout(60 * 60 * 24 * 7) // 指定此次登录token的有效期, 单位:秒 (如未指定,自动取全局配置的timeout值)
|
||||
.setToken("xxxx-xxxx-xxxx-xxxx") // 预定此次登录的生成的Token
|
||||
|
||||
Reference in New Issue
Block a user