mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-21 11:07:23 +08:00
同端互斥登录的文档
This commit is contained in:
@@ -891,7 +891,7 @@ public class StpLogic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取指定loginId的tokenValue
|
* 获取指定loginId指定设备端的tokenValue
|
||||||
* <p> 在配置为允许并发登录时,此方法只会返回队列的最后一个token,
|
* <p> 在配置为允许并发登录时,此方法只会返回队列的最后一个token,
|
||||||
* 如果你需要返回此账号id的所有token,请调用 getTokenValueListByLoginId
|
* 如果你需要返回此账号id的所有token,请调用 getTokenValueListByLoginId
|
||||||
* @param loginId 账号id
|
* @param loginId 账号id
|
||||||
@@ -913,7 +913,7 @@ public class StpLogic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取指定loginId的tokenValue集合
|
* 获取指定loginId指定设备端的tokenValue 集合
|
||||||
* @param loginId 账号id
|
* @param loginId 账号id
|
||||||
* @param device 设备标识
|
* @param device 设备标识
|
||||||
* @return 此loginId的所有相关token
|
* @return 此loginId的所有相关token
|
||||||
|
@@ -402,7 +402,7 @@ public class StpUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取指定loginId的tokenValue
|
* 获取指定loginId指定设备端的tokenValue
|
||||||
* <p> 在配置为允许并发登录时,此方法只会返回队列的最后一个token,
|
* <p> 在配置为允许并发登录时,此方法只会返回队列的最后一个token,
|
||||||
* 如果你需要返回此账号id的所有token,请调用 getTokenValueListByLoginId
|
* 如果你需要返回此账号id的所有token,请调用 getTokenValueListByLoginId
|
||||||
* @param loginId 账号id
|
* @param loginId 账号id
|
||||||
@@ -423,7 +423,7 @@ public class StpUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取指定loginId的tokenValue集合
|
* 获取指定loginId指定设备端的tokenValue集合
|
||||||
* @param loginId 账号id
|
* @param loginId 账号id
|
||||||
* @param device 设备标识
|
* @param device 设备标识
|
||||||
* @return 此loginId的所有相关token
|
* @return 此loginId的所有相关token
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
- [无Cookie模式(前后台分离)](/use/not-cookie)
|
- [无Cookie模式(前后台分离)](/use/not-cookie)
|
||||||
- [模拟他人](/use/mock-person)
|
- [模拟他人](/use/mock-person)
|
||||||
- [多账号验证](/use/many-account)
|
- [多账号验证](/use/many-account)
|
||||||
|
- [同端互斥登录](/use/mutex-login)
|
||||||
- [注解式鉴权](/use/at-check)
|
- [注解式鉴权](/use/at-check)
|
||||||
- [花式token](/use/token-style)
|
- [花式token](/use/token-style)
|
||||||
- [框架配置](/use/config)
|
- [框架配置](/use/config)
|
||||||
|
39
sa-token-doc/doc/use/mutex-login.md
Normal file
39
sa-token-doc/doc/use/mutex-login.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# 同端互斥登录
|
||||||
|
|
||||||
|
如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号 <br/>
|
||||||
|
同端互斥登录,指的就是像腾讯QQ一样,在同一类型设备上只允许单地点登录,在不同类型设备上允许同时在线
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 具体API
|
||||||
|
|
||||||
|
在`sa-token`中如何做到同端互斥登录? <br/>
|
||||||
|
首先在配置文件中,将 `allowConcurrentLogin` 配置为false,然后调用登录等相关接口时声明设备标识即可:
|
||||||
|
|
||||||
|
|
||||||
|
#### 指定设备标识登录
|
||||||
|
``` java
|
||||||
|
StpUtil.setLoginId(10001, "PC"); // 指定`账号id`和`设备标识`进行登录
|
||||||
|
```
|
||||||
|
调用此方法登录后,同设备的会被顶下线(不同设备不受影响),再次访问系统时会抛出 `NotLoginException` 异常,场景值=`-4`
|
||||||
|
|
||||||
|
|
||||||
|
#### 指定设备标识强制注销
|
||||||
|
``` java
|
||||||
|
StpUtil.logoutByLoginId(10001, "PC"); // 指定`账号id`和`设备标识`进行强制注销 (踢人下线)
|
||||||
|
```
|
||||||
|
如果第二个参数填写null或不填,代表将这个账号id所有在线端踢下线,被踢出者再次访问系统时会抛出 `NotLoginException` 异常,场景值=`-5`
|
||||||
|
|
||||||
|
|
||||||
|
#### 查询当前登录的设备标识
|
||||||
|
``` java
|
||||||
|
StpUtil.getLoginDevice(); // 指返回当前token的登录设备
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
#### id反查token
|
||||||
|
``` java
|
||||||
|
StpUtil.getTokenValueByLoginId(10001, "APP"); // 获取指定loginId指定设备端的tokenValue
|
||||||
|
```
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user