mirror of
https://gitee.com/dromara/sa-token.git
synced 2026-02-27 16:50:24 +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);
|
||||
```
|
||||
@@ -81,13 +81,17 @@
|
||||
<p>拦截违规调用,适配RBAC权限模型,不同角色不同授权,权限分配精细到按钮级</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>Session会话</h2>
|
||||
<h2>分布式Session会话</h2>
|
||||
<p>专业的数据缓存中心,内置三种会话模型:User-Session、Token-Session、自定义Session</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>踢人下线</h2>
|
||||
<p>一行代码实现踢人下线功能,清退违规用户,对方再次访问系统提示“已被踢下线”</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>账号封禁</h2>
|
||||
<p>封禁指定账号,并设定解封时间,期间此账号无法登录系统</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>Redis集成</h2>
|
||||
<p>可扩展持久层,集成Redis、Memcached等专业缓存中间件,重启数据不丢失</p>
|
||||
@@ -139,16 +143,16 @@
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>记住我模式</h2>
|
||||
<p>一个参数即可轻松适配 [记住我] 模式,做到重启浏览器免验证</p>
|
||||
<p>轻松适配 [记住我] 模式,重启浏览器免验证,还可指定免验证具体时长</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>密码加密</h2>
|
||||
<p>提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密</p>
|
||||
</div>
|
||||
<!-- <div class="feature">
|
||||
<div class="feature">
|
||||
<h2>组件自动注入</h2>
|
||||
<p>零配置与Spring等框架集成</p>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="re-text">有了sa-token,你所有的权限认证问题,都不再是问题!</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user