mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-08-23 22:11:29 +08:00
文档添加API手册
This commit is contained in:
parent
a12058b18d
commit
e846e80dce
@ -70,6 +70,14 @@
|
||||
- [和 Dubbo 集成](/plugin/dubbo-extend)
|
||||
- [Sa-Token 插件开发指南](/fun/plugin-dev)
|
||||
|
||||
- **API手册**
|
||||
- [StpUtil-鉴权工具类](/api/stp-util)
|
||||
- [SaSession-会话对象](/api/sa-session)
|
||||
- [SaTokenDao-数据持久接口](/api/sa-token-dao)
|
||||
- [SaStrategy-全局策略](/api/sa-strategy)
|
||||
- [全局类、方法](/more/common-action)
|
||||
|
||||
|
||||
- **其它**
|
||||
- [更新日志](/more/update-log)
|
||||
- [框架生态](/more/link)
|
||||
@ -79,7 +87,6 @@
|
||||
- [赞助 Sa-Token](/more/sa-token-donate)
|
||||
|
||||
- **附录**
|
||||
- [常用类、方法](/more/common-action)
|
||||
- [常见问题排查](/more/common-questions)
|
||||
- [框架名词解释](/more/noun-intro)
|
||||
- [Sa-Token功能结构图](/fun/auth-flow)
|
||||
|
77
sa-token-doc/doc/api/sa-session.md
Normal file
77
sa-token-doc/doc/api/sa-session.md
Normal file
@ -0,0 +1,77 @@
|
||||
# SaSession-会话对象
|
||||
|
||||
SaSession-会话对象,专业数据缓存组件。
|
||||
|
||||
---
|
||||
|
||||
### 1、常量
|
||||
``` java
|
||||
SaSession.ROLE_LIST = "USER"; // 在 Session 上存储用户对象时建议使用的key
|
||||
SaSession.ROLE_LIST = "ROLE_LIST"; // 在 Session 上存储角色时建议使用的key
|
||||
SaSession.PERMISSION_LIST = "PERMISSION_LIST"; // 在 Session 上存储权限时建议使用的key
|
||||
```
|
||||
|
||||
|
||||
### 2、构建相关
|
||||
``` java
|
||||
session.getId(); // 获取此 Session 的 id
|
||||
session.setId(id); // 写入此 Session 的 id
|
||||
session.getCreateTime(); // 返回当前会话创建时间(时间戳)
|
||||
session.setCreateTime(createTime); // 写入此 Session 的创建时间(时间戳)
|
||||
```
|
||||
|
||||
|
||||
### 3、TokenSign 相关
|
||||
``` java
|
||||
session.setTokenSignList(tokenSignList); // 写入此 Session 绑定的 Token 签名列表
|
||||
session.getTokenSignList(); // 获取此 Session 绑定的 Token 签名列表
|
||||
session.tokenSignListCopy(); // 获取 Token 签名列表 的拷贝副本
|
||||
session.tokenSignListCopyByDevice(device); // 返回 Token 签名列表 的拷贝副本,根据 device 筛选
|
||||
session.getTokenSign(tokenValue); // 查找一个 Token 签名
|
||||
session.addTokenSign(tokenSign); // 添加一个 Token 签名
|
||||
session.addTokenSign(tokenValue, device); // 添加一个 Token 签名
|
||||
session.removeTokenSign(tokenValue); // 移除一个 Token 签名
|
||||
```
|
||||
|
||||
|
||||
### 4、一些操作
|
||||
``` java
|
||||
session.update(); // 更新Session(从持久库更新刷新一下)
|
||||
session.logout(); // 注销Session (从持久库删除)
|
||||
session.logoutByTokenSignCountToZero(); // 当Session上的tokenSign数量为零时,注销会话
|
||||
session.getTimeout(); // 获取此Session的剩余存活时间 (单位: 秒)
|
||||
session.updateTimeout(timeout); // 修改此Session的剩余存活时间
|
||||
session.updateMinTimeout(minTimeout); // 修改此Session的最小剩余存活时间 (只有在 Session 的过期时间低于指定的 minTimeout 时才会进行修改)
|
||||
session.updateMaxTimeout(maxTimeout); // 修改此Session的最大剩余存活时间 (只有在 Session 的过期时间高于指定的 maxTimeout 时才会进行修改)
|
||||
session.trans(value); // value为 -1 时返回 Long.MAX_VALUE,否则原样返回
|
||||
```
|
||||
|
||||
|
||||
### 5、存取值
|
||||
``` java
|
||||
session.get(key); // 取值
|
||||
session.get(key, defaultValue); // 取值 (指定默认值)
|
||||
session.get(key, () -> {}); // 取值 (如果值为 null,则执行 fun 函数获取值,并把函数返回值写入缓存)
|
||||
session.getString(key); // 取值 (转String类型)
|
||||
session.getInt(key); // 取值 (转int类型)
|
||||
session.getLong(key); // 取值 (转long类型)
|
||||
session.getDouble(key); // 取值 (转double类型)
|
||||
session.getFloat(key); // 取值 (转float类型)
|
||||
session.getModel(key, clazz); // 取值 (指定转换类型)
|
||||
session.getModel(key, clazz, defaultValue); // 取值 (指定转换类型, 并指定值为Null时返回的默认值)
|
||||
session.has(key); // 是否含有某个key
|
||||
session.set(key, value); // 写值
|
||||
session.setByNull(key, value); // 写值 (只有在此 key 原本无值的情况下才会写入)
|
||||
session.delete(key); // 删值
|
||||
session.keys(); // 返回当前Session的所有key
|
||||
session.clear(); // 清空所有值
|
||||
session.getDataMap(); // 获取数据挂载集合(如果更新map里的值,请调用session.update()方法避免产生脏数据 )
|
||||
session.refreshDataMap(dataMap); // 写入数据集合 (不改变底层对象,只将此dataMap所有数据进行替换)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
74
sa-token-doc/doc/api/sa-strategy.md
Normal file
74
sa-token-doc/doc/api/sa-strategy.md
Normal file
@ -0,0 +1,74 @@
|
||||
# SaStrategy-全局策略
|
||||
|
||||
SaStrategy-全局策略,核心逻辑的代理封装。
|
||||
|
||||
---
|
||||
|
||||
### 所有策略
|
||||
|
||||
``` java
|
||||
/**
|
||||
* 创建 Token 的策略
|
||||
* <p> 参数 [账号id, 账号类型]
|
||||
*/
|
||||
public BiFunction<Object, String, String> createToken = (loginId, loginType) -> {
|
||||
// 默认,还是uuid
|
||||
return "xxxxx-xxxxx-xxxxx-xxxxx";
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建 Session 的策略
|
||||
* <p> 参数 [SessionId]
|
||||
*/
|
||||
public Function<String, SaSession> createSession = (sessionId) -> {
|
||||
return new SaSession(sessionId);
|
||||
};
|
||||
|
||||
/**
|
||||
* 判断:集合中是否包含指定元素(模糊匹配)
|
||||
* <p> 参数 [集合, 元素]
|
||||
*/
|
||||
public BiFunction<List<String>, String, Boolean> hasElement = (list, element) -> {
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* 对一个 [Method] 对象进行注解校验 (注解鉴权内部实现)
|
||||
* <p> 参数 [Method句柄]
|
||||
*/
|
||||
public Consumer<Method> checkMethodAnnotation = (method) -> {
|
||||
// ...
|
||||
};
|
||||
|
||||
/**
|
||||
* 对一个 [元素] 对象进行注解校验 (注解鉴权内部实现)
|
||||
* <p> 参数 [element元素]
|
||||
*/
|
||||
public Consumer<AnnotatedElement> checkElementAnnotation = (target) -> {
|
||||
// ...
|
||||
};
|
||||
|
||||
/**
|
||||
* 从元素上获取注解(注解鉴权内部实现)
|
||||
* <p> 参数 [element元素,要获取的注解类型]
|
||||
*/
|
||||
public BiFunction<AnnotatedElement, Class<? extends Annotation> , Annotation> getAnnotation = (element, annotationClass)->{
|
||||
// 默认使用jdk的注解处理器
|
||||
return element.getAnnotation(annotationClass);
|
||||
};
|
||||
|
||||
/**
|
||||
* 拼接两个url
|
||||
* <p> 例如:url1=http://domain.cn,url2=/sso/auth,则返回:http://domain.cn/sso/auth
|
||||
* <p> 参数 [第一个url, 第二个url]
|
||||
*/
|
||||
public BiFunction<String, String, String> spliceTwoUrl = (url1, url2) -> {
|
||||
return xxx;
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
61
sa-token-doc/doc/api/sa-token-dao.md
Normal file
61
sa-token-doc/doc/api/sa-token-dao.md
Normal file
@ -0,0 +1,61 @@
|
||||
# SaTokenDao-数据持久接口
|
||||
|
||||
SaTokenDao 是数据持久层接口,负责所有会话数据的底层写入和读取。
|
||||
|
||||
---
|
||||
|
||||
### 1、常量
|
||||
``` java
|
||||
SaTokenDao.NEVER_EXPIRE = -1; // 常量,表示一个key永不过期 (在一个key被标注为永远不过期时返回此值)
|
||||
SaTokenDao.NOT_VALUE_EXPIRE = -2; // 常量,表示系统中不存在这个缓存 (在对不存在的key获取剩余存活时间时返回此值)
|
||||
```
|
||||
|
||||
|
||||
### 2、字符串读写
|
||||
``` java
|
||||
dao.get(key); // 获取Value,如无返空
|
||||
dao.set(key, value, timeout); // 写入Value,并设定存活时间 (单位: 秒)
|
||||
dao.update(key, value); // 更新Value (过期时间不变)
|
||||
dao.delete(key); // 删除Value
|
||||
dao.getTimeout(key); // 获取Value的剩余存活时间 (单位: 秒)
|
||||
dao.updateTimeout(key, timeout); // 修改Value的剩余存活时间 (单位: 秒)
|
||||
```
|
||||
|
||||
|
||||
### 3、对象读写
|
||||
``` java
|
||||
dao.getObject(key); // 获取Object,如无返空
|
||||
dao.setObject(key, value, timeout); // 写入Object,并设定存活时间 (单位: 秒)
|
||||
dao.setObject(key, value); // 更新Object (过期时间不变)
|
||||
dao.deleteObject(key); // 删除Object
|
||||
dao.getObjectTimeout(key); // 获取Object的剩余存活时间 (单位: 秒)
|
||||
dao.updateObjectTimeout(key, timeout); // 修改Object的剩余存活时间 (单位: 秒)
|
||||
```
|
||||
|
||||
|
||||
### 4、Session读写
|
||||
``` java
|
||||
dao.getSession(sessionId); // 获取Session,如无返空
|
||||
dao.setSession(session, timeout); // 写入Session,并设定存活时间 (单位: 秒)
|
||||
dao.setSession(session); // 更新Session (过期时间不变)
|
||||
dao.deleteSession(sessionId); // 删除Session
|
||||
dao.getSessionTimeout(sessionId); // 获取Session的剩余存活时间 (单位: 秒)
|
||||
dao.updateSessionTimeout(sessionId, timeout); // 修改Session的剩余存活时间 (单位: 秒)
|
||||
```
|
||||
|
||||
|
||||
### 5、会话管理
|
||||
``` java
|
||||
dao.searchData(prefix, keyword, start, size, sortType); // 搜索数据
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
179
sa-token-doc/doc/api/stp-util.md
Normal file
179
sa-token-doc/doc/api/stp-util.md
Normal file
@ -0,0 +1,179 @@
|
||||
# StpUtil - 鉴权工具类
|
||||
|
||||
StpUtil 是 Sa-Token 整体功能的核心,大多数功能均由此工具类提供。
|
||||
|
||||
---
|
||||
|
||||
### 1、常规操作
|
||||
``` java
|
||||
StpUtil.getStpLogic(); // 获取底层 StpLogic 对象。
|
||||
StpUtil.setStpLogic(newStpLogic); // 安全的重置底层 StpLogic 引用。
|
||||
StpUtil.getLoginType(); // 获取账号类型 (例如:login、user、admin、teacher、student等等)。
|
||||
StpUtil.getTokenName(); // 获取 Token 的名称
|
||||
StpUtil.getTokenValue(); // 获取本次请求前端提交的 Token。
|
||||
StpUtil.getTokenValueNotCut(); // 获取本次请求前端提交的 Token (不裁剪前缀) 。
|
||||
StpUtil.setTokenValue(tokenValue); // 在当前会话中写入 Token 值。
|
||||
StpUtil.setTokenValue(tokenValue, timeout); // 在当前会话中写入 Token 值,并指定 Cookie 有效期。
|
||||
StpUtil.getTokenInfo(); // 获取当前 Token 的详细参数。
|
||||
```
|
||||
|
||||
|
||||
### 2、登录相关
|
||||
``` java
|
||||
StpUtil.login(10001); // 会话登录
|
||||
StpUtil.login(10001, "APP"); // 会话登录,并指定设备类型
|
||||
StpUtil.login(10001, true); // 会话登录,并指定是否 [记住我]
|
||||
StpUtil.login(10001, loginModel); // 会话登录,并指定所有登录参数Model
|
||||
StpUtil.createLoginSession(10001); // 创建指定账号id的登录会话,此方法不会将 Token 注入到上下文
|
||||
StpUtil.createLoginSession(10001, loginModel); // 创建指定账号id的登录会话,此方法不会将 Token 注入到上下文
|
||||
```
|
||||
|
||||
SaLoginModel 配置示例:
|
||||
``` java
|
||||
// SaLoginModel 配置登录相关参数
|
||||
StpUtil.login(10001, new SaLoginModel()
|
||||
.setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型
|
||||
.setIsLastingCookie(true) // 是否为持久Cookie(临时Cookie在浏览器关闭时会自动删除,持久Cookie在重新打开后依然存在)
|
||||
.setTimeout(60 * 60 * 24 * 7) // 指定此次登录token的有效期, 单位:秒 (如未指定,自动取全局配置的 timeout 值)
|
||||
.setToken("xxxx-xxxx-xxxx-xxxx") // 预定此次登录生成的Token
|
||||
.setExtra("name", "zhangsan") // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效)
|
||||
);
|
||||
```
|
||||
|
||||
|
||||
### 3、注销相关
|
||||
``` java
|
||||
StpUtil.logout(); // 会话注销
|
||||
StpUtil.logout(10001); // 会话注销,根据账号id
|
||||
StpUtil.logout(10001, "PC"); // 会话注销,根据账号id 和 设备类型
|
||||
StpUtil.logoutByTokenValue(token); // 指定 Token 强制注销
|
||||
StpUtil.kickout(10001); // 踢人下线
|
||||
StpUtil.kickout(10001, "PC"); // 踢人下线,根据账号id
|
||||
StpUtil.kickoutByTokenValue(token); // 踢人下线,根据账号id 和 设备类型
|
||||
```
|
||||
|
||||
|
||||
### 4、会话查询
|
||||
``` java
|
||||
StpUtil.isLogin(); // 当前会话是否已经登录
|
||||
StpUtil.checkLogin(); // 检验当前会话是否已经登录,如未登录,则抛出异常
|
||||
StpUtil.getLoginId(); // 获取当前会话账号id, 如果未登录,则抛出异常
|
||||
StpUtil.getLoginId(defaultValue); // 获取当前会话账号id, 如果未登录,则返回默认值
|
||||
StpUtil.getLoginIdDefaultNull(); // 获取当前会话账号id, 如果未登录,则返回null
|
||||
StpUtil.getLoginIdAsString(); // 获取当前会话账号id, 并转换为String类型
|
||||
StpUtil.getLoginIdAsInt(); // 获取当前会话账号id, 并转换为int类型
|
||||
StpUtil.getLoginIdAsLong(); // 获取当前会话账号id, 并转换为long类型
|
||||
StpUtil.getLoginIdByToken(token); // 获取指定Token对应的账号id,如果未登录,则返回 null
|
||||
StpUtil.getExtra(key); // 获取当前 Token 的扩展信息(此函数只在jwt模式下生效)
|
||||
StpUtil.getExtra(token, key); // 获取指定 Token 的扩展信息(此函数只在jwt模式下生效)
|
||||
```
|
||||
|
||||
|
||||
### 5、Session 相关
|
||||
``` java
|
||||
// User-Session 相关
|
||||
StpUtil.getSession(); // 获取当前会话的Session,如果Session尚未创建,则新建并返回
|
||||
StpUtil.getSession(true); // 获取当前会话的Session, 如果Session尚未创建,isCreate=是否新建并返回
|
||||
StpUtil.getSessionByLoginId(10001); // 获取指定账号id的Session,如果Session尚未创建,则新建并返回
|
||||
StpUtil.getSessionByLoginId(10001, true); // 获取指定账号id的Session, 如果Session尚未创建,isCreate=是否新建并返回
|
||||
|
||||
// Token-Session 相关
|
||||
StpUtil.getTokenSession(); // 获取当前会话的Session,如果Session尚未创建,则新建并返回
|
||||
StpUtil.getTokenSessionByToken(token); // 获取指定Token-Session,如果Session尚未创建,则新建并返回
|
||||
StpUtil.getAnonTokenSession(); // 获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session)
|
||||
|
||||
// 其它
|
||||
StpUtil.getSessionBySessionId("xxxx-xxxx-xxxx"); // 获取指定key的Session, 如果Session尚未创建,则返回 null
|
||||
```
|
||||
|
||||
|
||||
### 6、Token有效期相关
|
||||
``` java
|
||||
// 临时有效期
|
||||
StpUtil.getTokenActivityTimeout(); // 获取当前 token [临时过期] 剩余有效时间 (单位: 秒)
|
||||
StpUtil.checkActivityTimeout(); // 检查当前token 是否已经[临时过期],如果已经过期则抛出异常
|
||||
StpUtil.updateLastActivityToNow(); // 续签当前token:(将 [最后操作时间] 更新为当前时间戳)
|
||||
|
||||
// 长久有效期
|
||||
StpUtil.getTokenTimeout(); // 获取当前登录者的 token 剩余有效时间 (单位: 秒)
|
||||
StpUtil.getSessionTimeout(); // 获取当前登录者的 User-Session 剩余有效时间 (单位: 秒)
|
||||
StpUtil.getTokenSessionTimeout(); // 获取当前 Token-Session 剩余有效时间 (单位: 秒)
|
||||
StpUtil.renewTimeout(timeout); // 对当前 Token 的 timeout 值进行续期
|
||||
StpUtil.renewTimeout(token, timeout); // 对指定 Token 的 timeout 值进行续期
|
||||
```
|
||||
|
||||
|
||||
### 7、角色认证
|
||||
``` java
|
||||
StpUtil.getRoleList(); // 获取:当前账号的角色集合
|
||||
StpUtil.getRoleList(10001); // 获取:指定账号的角色集合
|
||||
StpUtil.hasRole(role); // 判断:当前账号是否拥有指定角色, 返回true或false
|
||||
StpUtil.hasRole(loginId, role); // 判断:指定账号是否含有指定角色标识, 返回true或false
|
||||
StpUtil.hasRoleAnd(...roleArray); // 判断:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]
|
||||
StpUtil.hasRoleOr(...roleArray); // 判断:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]
|
||||
StpUtil.checkRole(role); // 校验:当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException
|
||||
StpUtil.checkRoleAnd(...roleArray); // 校验:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]
|
||||
StpUtil.checkRoleOr(...roleArray); // 校验:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]
|
||||
```
|
||||
|
||||
|
||||
### 8、权限认证
|
||||
``` java
|
||||
StpUtil.getPermissionList(); // 获取:当前账号的权限集合
|
||||
StpUtil.getPermissionList(10001); // 获取:指定账号的权限集合
|
||||
StpUtil.hasPermission(permission); // 判断:当前账号是否拥有指定权限, 返回true或false
|
||||
StpUtil.hasPermission(loginId, permission); // 判断:指定账号是否含有指定权限标识, 返回true或false
|
||||
StpUtil.hasPermissionAnd(...permissionArray); // 判断:当前账号是否含有指定权限标识 [指定多个,必须全部验证通过]
|
||||
StpUtil.hasPermissionOr(...permissionArray); // 判断:当前账号是否含有指定权限标识 [指定多个,只要其一验证通过即可]
|
||||
StpUtil.checkPermission(permission); // 校验:当前账号是否含有指定权限标识, 如果验证未通过,则抛出异常: NotRoleException
|
||||
StpUtil.checkPermissionAnd(...permissionArray); // 校验:当前账号是否含有指定权限标识 [指定多个,必须全部验证通过]
|
||||
StpUtil.checkPermissionOr(...permissionArray); // 校验:当前账号是否含有指定权限标识 [指定多个,只要其一验证通过即可]
|
||||
```
|
||||
|
||||
|
||||
### 9、id 反查 Token
|
||||
``` java
|
||||
StpUtil.getTokenValueByLoginId(10001); // 获取指定账号id的tokenValue
|
||||
StpUtil.getTokenValueByLoginId(10001, "PC"); // 获取指定账号id指定设备类型端的tokenValue
|
||||
StpUtil.getTokenValueListByLoginId(10001); // 获取指定账号id的tokenValue集合
|
||||
StpUtil.getTokenValueListByLoginId(10001, "APP"); // 获取指定账号id指定设备类型端的tokenValue 集合
|
||||
StpUtil.getLoginDevice(); // 返回当前会话的登录设备类型
|
||||
```
|
||||
|
||||
|
||||
### 10、会话管理
|
||||
``` java
|
||||
StpUtil.searchTokenValue(keyword, start, size, sortType); // 根据条件查询Token
|
||||
StpUtil.searchSessionId(keyword, start, size, sortType); // 根据条件查询SessionId
|
||||
StpUtil.searchTokenSessionId(keyword, start, size, sortType); // 根据条件查询Token专属Session的Id
|
||||
```
|
||||
详细可参考:[会话治理](/up/search-session)
|
||||
|
||||
|
||||
### 11、账号封禁
|
||||
``` java
|
||||
StpUtil.disable(10001, 1200); // 封禁指定账号
|
||||
StpUtil.disable(10001); // 指定账号是否已被封禁 (true=已被封禁, false=未被封禁)
|
||||
StpUtil.getDisableTime(10001); // 获取指定账号剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁)
|
||||
StpUtil.untieDisable(loginId); // 解封指定账号
|
||||
```
|
||||
|
||||
|
||||
### 12、身份切换
|
||||
``` java
|
||||
StpUtil.switchTo(10044); // 临时切换身份为指定账号id
|
||||
StpUtil.endSwitch(); // 结束临时切换身份
|
||||
StpUtil.isSwitch(); // 当前是否正处于[身份临时切换]中
|
||||
StpUtil.switchTo(10044, () -> {}); // 在一个代码段里方法内,临时切换身份为指定账号id
|
||||
```
|
||||
|
||||
|
||||
### 13、二级认证
|
||||
``` java
|
||||
StpUtil.openSafe(safeTime); // 在当前会话 开启二级认证
|
||||
StpUtil.isSafe(); // 当前会话 是否处于二级认证时间内
|
||||
StpUtil.checkSafe(); // 检查当前会话是否已通过二级认证,如未通过则抛出异常
|
||||
StpUtil.getSafeTime(); // 获取当前会话的二级认证剩余有效时间 (单位: 秒, 返回-2代表尚未通过二级认证)
|
||||
StpUtil.closeSafe(); // 在当前会话 结束二级认证
|
||||
```
|
||||
|
@ -1,28 +1,34 @@
|
||||
# 常用类、方法
|
||||
本篇介绍Sa-Token中一些常用的全局对象、类
|
||||
# 全局类、方法
|
||||
本篇介绍 Sa-Token 中一些常用的全局对象、类
|
||||
|
||||
---
|
||||
|
||||
### SaManager
|
||||
SaManager 负责管理 Sa-Token 所有运行时对象
|
||||
SaManager 负责管理 Sa-Token 所有全局组件。
|
||||
``` java
|
||||
SaManager.getConfig(); // 获取全局配置对象
|
||||
SaManager.getSaTokenDao(); // 获取数据持久化对象
|
||||
SaManager.getStpInterface(); // 获取权限认证对象
|
||||
SaManager.getSaTokenAction(); // 获取框架行为对象
|
||||
SaManager.getSaTokenContext(); // 获取上下文处理对象
|
||||
SaManager.getSaTokenListener(); // 获取侦听器对象
|
||||
SaManager.getSaTemp(); // 获取临时令牌认证模块对象
|
||||
SaManager.getStpLogic("type"); // 获取指定账号类型的StpLogic对象
|
||||
SaManager.getConfig(); // 获取全局配置对象
|
||||
SaManager.getSaTokenDao(); // 获取数据持久化对象
|
||||
SaManager.getStpInterface(); // 获取权限认证对象
|
||||
SaManager.getSaTokenContext(); // 获取一级Context处理对象
|
||||
SaManager.getSaTokenSecondContext(); // 获取二级Context处理对象
|
||||
SaManager.getSaTokenContextOrSecond(); // 获取一个可用的 Context 处理对象
|
||||
SaManager.getSaTokenListener(); // 获取侦听器对象
|
||||
SaManager.getSaTemp(); // 获取临时令牌认证模块对象
|
||||
SaManager.getSaJsonTemplate(); // 获取 JSON 转换器 Bean
|
||||
SaManager.getSaSignTemplate(); // 获取参数签名 Bean
|
||||
SaManager.getStpLogic("type"); // 获取指定账号类型的StpLogic对象
|
||||
SaManager.putStpLogic(stpLogic); // 向全局集合中 put 一个 StpLogic
|
||||
```
|
||||
|
||||
|
||||
### SaHolder
|
||||
Sa-Token上下文持有类,通过此类快速获取当前环境的相关对象
|
||||
``` java
|
||||
SaHolder.getContext(); // 获取当前请求的 SaTokenContext
|
||||
SaHolder.getRequest(); // 获取当前请求的 [Request] 对象
|
||||
SaHolder.getResponse(); // 获取当前请求的 [Response] 对象
|
||||
SaHolder.getStorage(); // 获取当前请求的 [存储器] 对象
|
||||
SaHolder.getStorage(); // 获取当前请求的 [Storage] 对象
|
||||
SaHolder.getApplication(); // 获取全局 SaApplication 对象
|
||||
```
|
||||
|
||||
|
||||
@ -36,14 +42,34 @@ Sa-Token内部工具类,包含一些工具方法
|
||||
SaFoxUtil.printSaToken(); // 打印 Sa-Token 版本字符画
|
||||
SaFoxUtil.getRandomString(8); // 生成指定长度的随机字符串
|
||||
SaFoxUtil.isEmpty(str); // 指定字符串是否为null或者空字符串
|
||||
SaFoxUtil.isNotEmpty(str); // 指定字符串是否不是null或者空字符串
|
||||
SaFoxUtil.equals(a, b); // 比较两个对象是否相等
|
||||
SaFoxUtil.equals(a, b); // 比较两个对象是否相等
|
||||
SaFoxUtil.getMarking28(); // 以当前时间戳和随机int数字拼接一个随机字符串
|
||||
SaFoxUtil.formatDate(date); // 将日期格式化为yyyy-MM-dd HH:mm:ss字符串
|
||||
SaFoxUtil.searchList(); // 从集合里查询数据
|
||||
SaFoxUtil.searchList(dataList, prefix, keyword, start, size, sortType); // 从集合里查询数据
|
||||
SaFoxUtil.searchList(dataList, start, size, sortType); // 从集合里查询数据
|
||||
SaFoxUtil.vagueMatch(patt, str); // 字符串模糊匹配
|
||||
SaFoxUtil.getValueByType(obj, cs); // 将指定值转化为指定类型
|
||||
SaFoxUtil.joinParam(url, parameStr); // 在url上拼接上kv参数并返回
|
||||
SaFoxUtil.joinParam(url, key, value); // 在url上拼接上kv参数并返回
|
||||
SaFoxUtil.joinSharpParam(url, parameStr); // 在url上拼接锚参数
|
||||
SaFoxUtil.joinSharpParam(url, key, value); // 在url上拼接锚参数
|
||||
SaFoxUtil.arrayJoin(arr); // 将数组的所有元素使用逗号拼接在一起
|
||||
SaFoxUtil.isUrl(str); // 使用正则表达式判断一个字符串是否为URL
|
||||
SaFoxUtil.encodeUrl(str); // URL编码
|
||||
SaFoxUtil.decoderUrl(str); // URL解码
|
||||
SaFoxUtil.convertStringToList(str); // 将指定字符串按照逗号分隔符转化为字符串集合
|
||||
SaFoxUtil.convertListToString(list); // 将指定集合按照逗号连接成一个字符串
|
||||
SaFoxUtil.convertStringToArray(str); // String 转 Array,按照逗号切割
|
||||
SaFoxUtil.convertArrayToString(arr); // Array 转 String,按照逗号切割
|
||||
SaFoxUtil.emptyList(); // 返回一个空集合
|
||||
SaFoxUtil.toList(... strs); // String 数组转集合
|
||||
```
|
||||
|
||||
|
||||
### SaTokenConfigFactory
|
||||
配置对象工厂类,通过此类你可以方便的根据properties配置文件创建一个配置对象
|
||||
配置对象工厂类,通过此类你可以方便的根据 properties 配置文件创建一个配置对象
|
||||
|
||||
1、首先在项目根目录,创建一个配置文件:`sa-token.properties`
|
||||
|
||||
@ -80,6 +106,7 @@ SpringMVC操作的工具类,位于包:`sa-token-spring-boot-starter`
|
||||
``` java
|
||||
SpringMVCUtil.getRequest(); // 获取本次请求的 request 对象
|
||||
SpringMVCUtil.getResponse(); // 获取本次请求的 response 对象
|
||||
SpringMVCUtil.isWeb(); // 判断当前是否处于 Web 上下文中
|
||||
```
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user