Sa-Token v1.31.0 更新,新增账号分类封禁、阶梯封禁功能
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、分布式 Session 会话、单点登录、OAuth2.0 等一系列权限相关问题。
框架针对踢人下线、自动续签、前后台分离、分布式会话…… 等常见业务进行 N 多适配,通过 Sa-Token,你可以以一种极简的方式实现系统的权限认证部分
Sa-Token v1.31.0 版本更新包括以下内容:
- 文档:新增优秀开源案例展示。
- 文档:新增博客展示,欢迎大家投稿。
- 新增:新增
SaInterceptor 综合拦截器。 [重要] [不向下兼容]
- 新增:新增 新增
@SaIgnore 忽略鉴权注解。 [重要]
- 新增:新增插件
sa-token-dao-redis-fastjson,感谢 @sikadai 提交的pr。 [重要]
- 新增:新增插件
sa-token-context-grpc,感谢 @LiYiMing666 提交的pr。 [重要]
- 重构:SaSession 取消
tokenSignList 的 final 修饰符。
- 新增:SaSession 添加
setTokenSignList 方法。
- 重构:TokenSign 新增
setValue 和 setDevice 方法。
- 修复:修复多账号模式下不能正确重置
StpLogic 的问题。
- 修复:修复 SaSession 对象中 TokenSign 判断有可能空指针的问题。
- 修复:解决当权限码为 null 时可能带来的空指针问题。
- 新增:新增
StpUtil.getExtra(tokenValue, key) 方法,用于获取任意 token 的扩展参数。
- 优化:优化
StpLogic#logoutByTokenValue 方法逻辑,精简代码。
- 重构:
SaTokenConfig 配置类字段 isReadHead 改为 isReadHeader。 [不向下兼容]
- 修复:修复部分场景下踢人下线会抛出异常
非Web上下文无法获取Request 的问题。
- 新增:新增方法
StpLogic#getAnonTokenSession,可在未登录情况下安全的获取 Token-Session。 [重要]
- 新增:新增
SaApplication 对象,用于全局作用域存取值。 [重要]
- 重构:将
SaTokenListener 改为事件发布订阅模式,允许同时注册多个侦听器。 [重要] [不向下兼容]
- 重构:StpUtil.login(id) 不再强制校验账号是否禁用,需要手动校验。 [不向下兼容]
- 重构:新增对账号限制、分类封禁、阶梯封禁功能。 [重要]
- 新增:会话查询API增加反序获取会话方式。
- 新增:SSO模块增加 server-url 属性,用于简化各种 url 配置。 [重要]
- 修复:修复单点登录模块
ssoLogoutCall 配置项无效的问题。
- 优化:优化
SaSsoHandle.checkTicket(ticket, currUri); 方法,使其不提供 currUri 参数时将不再注册单点注销回调。
- 修复:修复
SaOAuth2Handle 类中 doLogin 方法没有使用 Param.pwd 常量的问题。
- 新增:新增
SaOAuth2Util.checkClientTokenScope(clientToken, scopes) 方法,校验 Client-Token 是否含有指定 Scope。
- 删除:删除
sa-token-jwt 模块过期 class。
- 重构:
sa-token-jwt 模块依赖改为 hutool-jwt,并升级版本为 5.8.5。
- 重构:
sa-token-jwt 模块改为 Util + Template 形式,方便针对部分代码重写。 [重要]
- 新增:在线文档添加API手册。
- 重构:
sa-token-oauth2 模块密码模式新增 client_secret 参数校验。[不向下兼容]
- 新增:集成
jacoco 插件,核心包单元测试覆盖率提高至 90% 以上。
- 优化:开源案例分离专属仓库:Awesome-Sa-Token
框架功能结构图
![js]()