位置: IT常识 - 正文

Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例

编辑:rootadmin
Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例 前言

推荐整理分享Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

如果你的项目没有使用旧写法,可以忽略本篇文章 移步官网,本文只针对旧版本到新版本的迁移提供示例。

1、旧版本

Sa-Token 在 1.30.0 及以下版本中使用两个拦截器:

SaAnnotationInterceptor:负责提供注解鉴权能力。SaRouteInterceptor:负责提供路由拦截鉴权能力。

这次新增的拦截器 SaInterceptor 名字为综合拦截器,见名思意就是综合上述两个拦截器的能力,既提供注解鉴权能力,也提供路由鉴权能力,目的是为了替代上述两个拦截器(v1.31.0已将上述两个类打上 @Deprecated 标记)。

2、新版本用法

在用法上 SaInterceptor 可以简单总结为两点:

相对于 SaAnnotationInterceptor,只做增强,不做改变,可以直接无损替换。相对于 SaRouteInterceptor,除掉其默认的 StpUtil.checkLogin() 登录校验能力,默认不执行任何动作。

下面将用几个示例详细展示 SaInterceptor 带来的变化点。

3、示例示例1,注解鉴权Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例

原写法:

@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 注解拦截器,打开注解鉴权功能 registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**");}

新版本写法:

@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 拦截器,打开注解鉴权功能 registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");}

总结:只替换一下拦截器的名称就可以了。

示例2,路由鉴权,默认登录校验

原写法:

@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 的路由拦截器registry.addInterceptor(new SaRouteInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/doLogin"); }

新版本写法:

@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 的路由拦截器registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin())).addPathPatterns("/**").excludePathPatterns("/user/doLogin"); }

总结:由于默认的登录校验功能不提供了,所有需要我们手动补一下。

示例3,路由鉴权,自定义认证规则

原写法:

@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 拦截器,定义详细认证规则 registry.addInterceptor(new SaRouteInterceptor((req, res, handler) -> {// 根据路由划分模块,不同模块不同鉴权 SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));SaRouter.match("/comment/**", r -> StpUtil.checkPermission("comment"));// ...})).addPathPatterns("/**");}

新版本写法:

@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册 Sa-Token 拦截器,定义详细认证规则registry.addInterceptor(new SaInterceptor(handler -> {// 根据路由划分模块,不同模块不同鉴权 SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));SaRouter.match("/comment/**", r -> StpUtil.checkPermission("comment"));// ...})).addPathPatterns("/**");}

总结:做一下名称 + 参数替换 就可以了。

新版本拦截器大体上就带来这三种变化,另外还新增了一个注解 @SaIgnore 代表忽略掉指定方法的鉴权校验,快来官网文档查看一下吧。:)

本文链接地址:https://www.jiuchutong.com/zhishi/289580.html 转载请保留说明!

上一篇:【NPM】ubuntu20.04安装npm(ubuntu npm安装)

下一篇:【完整代码】用HTML/CSS制作一个美观的个人简介网页(代码怎么用?)

  • 个税专项扣除能中途新增
  • 软件企业减免企业所得税
  • 从税法经济法角度分析冰冰偷漏税事件?
  • 转出未交增值税在借方是什么意思
  • 教育培训行业税负率是多少
  • 软件使用权收入怎么计算
  • 工业企业开票税率
  • 个人开具发票需要税号吗
  • 居间费用超过3%剩余的怎样能拿到手
  • 税务局返还的三种税种
  • 结转发出材料会计分录
  • 外资企业享受什么优惠政策
  • 外购生物资产的成本不包括
  • 没有票据怎么要账
  • 给评委发酬劳怎么扣税?
  • 免费送客户礼品的文案
  • 工业结转成本方法有哪些?
  • 年底结账时利息收入怎么做处理?
  • 税务机关未采集开票信息是什么意思
  • 应收账款的产生之一是由于销售
  • 建筑企业无票支出如何处理
  • 净利润与毛利润那个会大一点
  • 垫付资金成本
  • 负债清偿损益明细表可以0报么
  • 应收股利的账务处理方法
  • 合伙人退伙资产清算需要交税吗
  • linux中压缩
  • 其他权益工具投资公允价值变动怎么计算
  • 交易性金融资产是什么意思
  • 冲回存货跌价准备
  • 没有以前年度损益调整怎么办
  • PHP:xml_set_unparsed_entity_decl_handler()的用法_XML解析器函数
  • 新成立股份有限公司股本构成
  • 公司多缴税款了怎么办?可以退吗?
  • 现金结算的范围及内部控制
  • 银行的抵债资产有几种处置办法
  • 转销股票会计分录
  • thinkphp import
  • vuecli打包项目
  • 税务变更登记需要带的资料有哪些
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • ijk解码是什么意思
  • yolov5 教程
  • python 二值化
  • 农民专业合作社属于什么企业类型
  • 增值税补充申报表不填可以吗
  • 房地产企业开发成本科目明细
  • 扫码开票怎么弄
  • 无形资产减值准备借贷方向增减
  • 月末假退月初假领
  • 实收资本或股本什么意思
  • 预付账款为什么不是金融资产
  • 营改增账务处理实例
  • 会务费入哪个科目
  • 企业进口外汇额度限制
  • 企业建帐的基本要求
  • 工业企业应收账款减少原因分析
  • sqlserver批处理语句
  • 分页存储过程的实现
  • 如何解决笔记本电脑温度过高 蓝屏
  • 怎么删除电脑windows
  • 如何快速卸载游戏
  • windows xp系
  • 搜集数据软件
  • Ghost XP SP3电脑市场专业装机版 V5.5
  • win7重装系统需要重新激活吗
  • w8系统文件夹怎么设置密码
  • python音频文件读写
  • ecmascript6入门
  • ja开发
  • bios查看电脑配置信息
  • js不重复集合
  • unity游戏换皮教程
  • python按行读取文本并输出到excel
  • javascript的常用例子
  • 党建共建的目的
  • 音箱海关税
  • 四川4050社保补贴政策什么时候发放
  • 西安新公司税务注销流程
  • 准生证网上查询码是个什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设