位置: 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制作一个美观的个人简介网页(代码怎么用?)

  • 如何对待小群体需求(如何对待小群体的人)

    如何对待小群体需求(如何对待小群体的人)

  • 多多视频点赞的视频在哪(多多视频点赞的视频怎么删除)

    多多视频点赞的视频在哪(多多视频点赞的视频怎么删除)

  • 骁龙712什么水平(骁龙712好吗)

    骁龙712什么水平(骁龙712好吗)

  • 咸鱼网买东西可以退吗(咸鱼网买东西可以用支付宝吗)

    咸鱼网买东西可以退吗(咸鱼网买东西可以用支付宝吗)

  • 华为手机怎样下载拼多多app到手机上(华为手机怎样下载app软件)

    华为手机怎样下载拼多多app到手机上(华为手机怎样下载app软件)

  • 微信群视频别人看不见(微信群视频别人是绿色的)

    微信群视频别人看不见(微信群视频别人是绿色的)

  • 微信发送的文件怎样改文件名(微信发送的文件怎么让它失效)

    微信发送的文件怎样改文件名(微信发送的文件怎么让它失效)

  • 苹果7p手机录屏没有声音(苹果7p手机录屏功能在哪里)

    苹果7p手机录屏没有声音(苹果7p手机录屏功能在哪里)

  • 抖音人气值怎么涨(抖音人气值怎么获得)

    抖音人气值怎么涨(抖音人气值怎么获得)

  • oppo有简易模式吗(oppo简易模式适合老年人)

    oppo有简易模式吗(oppo简易模式适合老年人)

  • 抖音qq怎么不可以登录(抖音qq怎么不可见了)

    抖音qq怎么不可以登录(抖音qq怎么不可见了)

  • vivox30支不支持5g(vivox30支不支持OTG)

    vivox30支不支持5g(vivox30支不支持OTG)

  • 快手一天限制发作品么(快手每天发作品数量限制)

    快手一天限制发作品么(快手每天发作品数量限制)

  • 抖音怎么弄机器人声音(抖音怎么弄机器人)

    抖音怎么弄机器人声音(抖音怎么弄机器人)

  • 安卓手机怎么传照片到苹果手机(安卓手机怎么传数据到苹果手机)

    安卓手机怎么传照片到苹果手机(安卓手机怎么传数据到苹果手机)

  • 华为手机连接车载蓝牙放歌没有声音(华为手机连接车载导航投屏)

    华为手机连接车载蓝牙放歌没有声音(华为手机连接车载导航投屏)

  • 戴尔电脑怎么分盘win10(戴尔电脑怎么分区硬盘分区)

    戴尔电脑怎么分盘win10(戴尔电脑怎么分区硬盘分区)

  • 拼多多店铺id在哪里查看(拼多多店铺id在哪看手机)

    拼多多店铺id在哪里查看(拼多多店铺id在哪看手机)

  • 注销的qq号去哪里恢复(注销的qq号去哪里了)

    注销的qq号去哪里恢复(注销的qq号去哪里了)

  • 苹果7的诊断与用量在哪(苹果7手机诊断功能在哪里)

    苹果7的诊断与用量在哪(苹果7手机诊断功能在哪里)

  • iphone11是单卡还是双卡(苹果11是单卡的?)

    iphone11是单卡还是双卡(苹果11是单卡的?)

  • r6611录音笔使用教程(录音笔r6611怎么用)

    r6611录音笔使用教程(录音笔r6611怎么用)

  • 计算机软件包括(计算机软件包括哪两大类)

    计算机软件包括(计算机软件包括哪两大类)

  • 苹果怎么用微信充值(苹果怎么用微信分身)

    苹果怎么用微信充值(苹果怎么用微信分身)

  • 小米运动蓝牙耳机青春版怎么连接(小米运动蓝牙耳机mini)

    小米运动蓝牙耳机青春版怎么连接(小米运动蓝牙耳机mini)

  • 发朋友圈折叠怎么办(朋友圈发文折叠)

    发朋友圈折叠怎么办(朋友圈发文折叠)

  • 如何重装键盘驱动(如何重装键盘驱动器)

    如何重装键盘驱动(如何重装键盘驱动器)

  • 苹果怎么拒接陌生电话(苹果怎么拒接陌生来电和短信)

    苹果怎么拒接陌生电话(苹果怎么拒接陌生来电和短信)

  • Tensorflow1 搭建Cuda11(tensorflow1 教程)

    Tensorflow1 搭建Cuda11(tensorflow1 教程)

  • 魁北克老城区的景色,加拿大 (© RENAULT Philippe/age fotostock)(魁北克老城区景点)

    魁北克老城区的景色,加拿大 (© RENAULT Philippe/age fotostock)(魁北克老城区景点)

  • audit-viewer命令  查看和总结审计事件的图形工具(audit.exe)

    audit-viewer命令 查看和总结审计事件的图形工具(audit.exe)

  • DEDECMS实现“文章标题-栏目名称-网站名”(dedecms配置)

    DEDECMS实现“文章标题-栏目名称-网站名”(dedecms配置)

  • 政府收回土地补偿款是否缴纳土地增值税
  • 税收优惠属于政策吗
  • 小规模纳税人要做账吗
  • 没有达到30万销量怎么办
  • 印花税的计提
  • 工资社保缴纳计算器
  • 货品调拨的意义
  • 多余的实收资本可以转到其他应付款吗
  • 预提利息收入纳税调整
  • 物资采购账务处理方法
  • 原材料做成库存会计分录
  • 广告公司可以开维修费吗
  • 房产税免收范围包括
  • 超豪华小汽车消费税起征点
  • 增值税又有调整政策吗
  • 合并财务报表的特点
  • 小微企业增值税减免政策
  • 现金日记账如何结账
  • 进口货物的企业有哪些
  • 挑主板要注意什么
  • 如何编辑受保护的word文档
  • 主营业务收入科目应按什么进行明细核算
  • 收到财政厅的补助怎么办
  • 赎回理财产品的利息怎么做账
  • 金税卡服务费抵扣政策
  • 递延收益为什么计税基础为0
  • 劳务费支出会计处理
  • echarts饼图背景图片
  • php设计模式六大原则
  • 个人所得税计提基数公式
  • 深拷贝的实现方式
  • php导出大量数据
  • php获取地理位置
  • python安装后找不到了
  • 底薪和提成分开发合法吗
  • 固定资产科目的备抵科目
  • 投标保证金的缴纳方式有哪些
  • 公司名义送花圈
  • 仓库折旧会计分录
  • 帝国cms专题
  • 织梦cms要钱吗
  • 金蝶kis专业版仓存期末结账
  • 教你如何看懂标签
  • sqlserver2005导出数据
  • 小规模纳税人开专票需要交税吗
  • 销售费用怎么用
  • 结转以后年度抵免的境外所得税怎么进行会计处理
  • 小规模纳税人开专票税率是1%还是3%
  • 内账中已交的增值税在哪
  • 股东出资转为借款
  • 什么是无形资产包括哪些
  • 企业收到委托开具发票
  • 固定资产清理贷方余额是什么意思
  • 增值税留抵退税最新政策
  • 进项税额转出有余额怎么调整
  • 进项税转出补缴增值税 城建税及两费
  • sqlserver比较日期时间
  • sql数据库压缩能提高性能吗
  • mysql5.7最新版
  • freebsd 网卡驱动
  • win10的时间设置
  • 提高生殖能力
  • linux怎么那么难用
  • win10d盘无法格式化,说另一个正在使用
  • win10商店重置后不见了
  • win7win8双系统怎么装
  • opengl画曲线
  • ftp自动上传文件怎么关闭
  • javascript基础编程
  • js时间比较大小的方法
  • 什么是碰撞检测
  • node.js的概念
  • 注释讲解
  • JavaScript设置字体颜色
  • 详解Javascript事件驱动编程
  • 浅谈python
  • 可以抵扣的消费税项目
  • 手表不贵比较好的品牌
  • 国家税务总局可以设定行政处罚吗
  • 房地产对外投资契税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设