mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-20 18:47:25 +08:00
抽离包装类,核心包脱离ServletAPI
This commit is contained in:
@@ -27,20 +27,24 @@ implementation 'cn.dev33:sa-token-spring-boot-starter:1.15.2'
|
||||
- gitee地址:[https://gitee.com/dromara/sa-token](https://gitee.com/dromara/sa-token)
|
||||
- 开源不易,求鼓励,给个`star`吧
|
||||
- 源码目录介绍:
|
||||
|
||||
```
|
||||
── sa-token
|
||||
├── sa-token-core // sa-token核心模块
|
||||
├── sa-token-spring-boot-starter // sa-token整合springboot快速集成
|
||||
├── sa-token-dao-redis // sa-token整合redis (使用jdk默认序列化方式)
|
||||
├── sa-token-dao-redis-jackson // sa-token整合redis (使用jackson序列化方式)
|
||||
├── sa-token-spring-aop // sa-token整合SpringAOP 注解鉴权
|
||||
├── sa-token-oauth2 // sa-token实现 OAuth2.0 模块(内测暂未发布)
|
||||
├── sa-token-demo-springboot // sa-token示例
|
||||
├── sa-token-demo-jwt // sa-token集成jwt示例
|
||||
├── sa-token-demo-oauth2 // sa-token集成OAuth2.0模块示例
|
||||
├── sa-token-demo-oauth2-client // OAuth2.0 客户端
|
||||
├── sa-token-demo-oauth2-server // OAuth2.0 服务端
|
||||
├── sa-token-doc // sa-token开发文档
|
||||
├── sa-token-core // sa-token 核心模块
|
||||
├── sa-token-servlet // sa-token 整合 Servlet容器实现类包
|
||||
├── sa-token-spring-boot-starter // sa-token 整合 SpringBoot 快速集成
|
||||
├── sa-token-webflux-spring-boot-starter // sa-token 整合 WebFlux 快速集成
|
||||
├── sa-token-dao-redis // sa-token 整合 Redis (使用jdk默认序列化方式)
|
||||
├── sa-token-dao-redis-jackson // sa-token 整合 Redis (使用jackson序列化方式)
|
||||
├── sa-token-spring-aop // sa-token 整合 SpringAOP 注解鉴权
|
||||
├── sa-token-oauth2 // sa-token 实现 OAuth2.0 模块(内测暂未发布)
|
||||
├── sa-token-demo-springboot // [示例] sa-token 整合 SpringBoot
|
||||
├── sa-token-demo-jwt // [示例] sa-token 集成 jwt [示例]
|
||||
├── sa-token-demo-webflux // [示例] sa-token 整合 WebFlux [示例]
|
||||
├── sa-token-demo-oauth2 // [示例] sa-token集成OAuth2.0模块 [示例]
|
||||
├── sa-token-demo-oauth2-client // [示例] OAuth2.0 客户端
|
||||
├── sa-token-demo-oauth2-server // [示例] OAuth2.0 服务端
|
||||
├── sa-token-doc // [文档] sa-token开发文档
|
||||
├──pom.xml
|
||||
```
|
||||
|
||||
|
@@ -6,20 +6,47 @@
|
||||
---
|
||||
|
||||
|
||||
## 具体API
|
||||
|
||||
#### StpUtil.logoutByLoginId(Object loginId)
|
||||
让指定loginId的会话注销登录(踢人下线),例如:
|
||||
### 根据账号id踢人
|
||||
让指定账号id的会话注销登录,例如:
|
||||
|
||||
``` java
|
||||
// 使账号id为10001的会话注销登录,待到10001再次访问系统时会抛出`NotLoginException`异常,场景值为-5
|
||||
// 使账号id为10001的会话注销登录(踢人下线),待到10001再次访问系统时会抛出`NotLoginException`异常,场景值为-5
|
||||
StpUtil.logoutByLoginId(10001);
|
||||
```
|
||||
|
||||
|
||||
#### StpUtil.logoutByTokenValue(String tokenValue);
|
||||
你还可以让指定token的会话注销登录 (此方法直接删除了`token->uid`的映射关系,对方再次访问时提示:`token无效`,场景值为-2)
|
||||
### 根据Token令牌踢人
|
||||
你还可以让指定token的会话注销登录
|
||||
``` java
|
||||
// 使账号id为10001的会话注销登录
|
||||
StpUtil.logoutByTokenValue("xxxx-xxxx-xxxx-xxxx-xxxx");
|
||||
```
|
||||
此方法直接删除了`token->uid`的映射关系,对方再次访问时提示:`token无效`,场景值为-2
|
||||
|
||||
|
||||
|
||||
### 账号封禁
|
||||
对于违规账号,有时候我们仅仅将其踢下线还是远远不够的,我们还需要对其进行**账号封禁**防止其再次登录
|
||||
|
||||
``` java
|
||||
// 封禁指定账号
|
||||
// 参数一:账号id
|
||||
// 参数二:封禁时长,单位:秒 (86400秒=1天,此值为-1时,代表永久封禁)
|
||||
StpUtil.disableLoginId(10001, 86400);
|
||||
|
||||
// 获取指定账号是否已被封禁 (true=已被封禁, false=未被封禁)
|
||||
StpUtil.isDisable(10001);
|
||||
|
||||
// 获取指定账号剩余封禁时间,单位:秒
|
||||
StpUtil.getDisableTime(10001);
|
||||
```
|
||||
|
||||
|
||||
#### 注意点
|
||||
对于正在登录的账号,对其账号封禁时并不会使其立刻注销<br>
|
||||
如果需要将其封禁后立即掉线,可采取先踢再封禁的策略,例如:
|
||||
``` java
|
||||
// 先踢下线
|
||||
StpUtil.logoutByLoginId(10001);
|
||||
// 再封禁账号
|
||||
StpUtil.disableLoginId(10001, 86400);
|
||||
```
|
Reference in New Issue
Block a user