# 踢人下线
所谓踢人下线,核心操作就是找到指定 `loginId` 对应的 `Token`,并设置其失效。

---
### 1、强制注销
``` java
StpUtil.logout(10001); // 强制指定账号注销下线
StpUtil.logout(10001, "PC"); // 强制指定账号指定端注销下线
StpUtil.logoutByTokenValue("token"); // 强制指定 Token 注销下线
```
### 2、踢人下线
``` java
StpUtil.kickout(10001); // 将指定账号踢下线
StpUtil.kickout(10001, "PC"); // 将指定账号指定端踢下线
StpUtil.kickoutByTokenValue("token"); // 将指定 Token 踢下线
```
强制注销 和 踢人下线 的区别在于:
- 强制注销等价于对方主动调用了注销方法,再次访问会提示:Token无效。
- 踢人下线不会清除Token信息,而是将其打上特定标记,再次访问会提示:Token已被踢下线。
### 3、顶人下线
“顶人下线” 操作发生在框架登录时顶退旧登录设备,属于框架内部操作,一般情形下你不会调用到此 API:
``` java
StpUtil.replaced(10001); // 将指定账号顶下线
StpUtil.replaced(10001, "PC"); // 将指定账号指定端顶下线
StpUtil.replacedByTokenValue("token"); // 将指定 Token 顶下线
```
---
本章代码示例:Sa-Token 踢人下线 —— [ KickoutController.java ]
本章小练习:Sa-Token 基础 - 踢人下线,章节测试