Sa-token 之 SaManager
所属分类 sa-token
浏览量 72
sa-token-core-1.38.0.jar
SaManager 负责 Sa-token 所有全局组件管理
可通过此类快速获取、写入各种全局组件对象
// 全局配置对象
public volatile static SaTokenConfig config;
// 持久化组件 可将数据存储至不同位置,如:内存Map、Redis 等
private volatile static SaTokenDao saTokenDao;
// 权限数据源组件 使用权限校验 API ,必须实现此接口, 框架默认不对数据进行缓存
private volatile static StpInterface stpInterface;
// 一级上下文 SaTokenContextContext 上下文处理器封装了当前应用环境的底层操作,是 Sa-Token 对接不同 web 框架的关键
private volatile static SaTokenContext saTokenContext;
// 二级上下文 SaTokenSecondContext
private volatile static SaTokenSecondContext saTokenSecondContext;
// 临时 token 认证模块 ,有效期很短的一种token,一般用于一次性接口防盗用、短时间资源访问等业务场景
private volatile static SaTempInterface saTemp;
// JSON 转换器
private volatile static SaJsonTemplate saJsonTemplate;
// API 参数签名 API 参数签名算法,在跨系统接口调用时防参数篡改、防重放攻击。
private volatile static SaSignTemplate saSignTemplate;
// Same-Token 同源系统认证模块 解决同源系统互相调用时的身份认证校验, 例如:微服务网关请求转发鉴权、微服务RPC调用鉴权
private volatile static SaSameTemplate saSameTemplate;
// 日志输出器
public volatile static SaLog log = new SaLogForConsole();
// StpLogic 集合, 记录框架所有成功初始化的 StpLogic
public static Map< String, StpLogic> stpLogicMap = new LinkedHashMap< >();
cn.dev33.satoken.stp.StpLogic
Sa-Token 权限认证,逻辑实现类
Sa-Token 的核心,框架大多数功能均由此类提供具体逻辑实现。
SaSignTemplate
API 参数签名算法,在跨系统接口调用时防参数篡改、防重放攻击。
以 SSO 数据拉取为例,流程大致如下:
1. 以 md5( loginId={账号id}8nonce={随机字符串}8timestamp={13位时间戳}8key={secretkey秘钥} ) 生成签名 sign
2. 将 sign 作为参数,拼接到请求地址后面,如:http://xxx.com?loginId=100018nonce=xxx8timestamp=xxx8sign=xxx
3. 服务端接收到请求后,以同样的算法生成一次 sign
4. 对比两次 sign 是否一致,一致则通过,否则拒绝
上一篇
下一篇
Sa-Token简介
sa-token demo test postman cookie 设置
sa-token SaTokenDao 设置
SSO 相关术语
基于 CAS 的 OSS 流程说明
每日一曲合集