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

  • 利用软文进行网站推广的策略(网络软文常用的形式)

    利用软文进行网站推广的策略(网络软文常用的形式)

  • 移动主卡怎么添加亲情号码(移动主卡怎么添加家庭网成员)

    移动主卡怎么添加亲情号码(移动主卡怎么添加家庭网成员)

  • 暗影精灵7键盘灯怎么开(暗影精灵7键盘灯光怎么调)

    暗影精灵7键盘灯怎么开(暗影精灵7键盘灯光怎么调)

  • 美团电影票能退票吗(美团电影票能退一张吗)

    美团电影票能退票吗(美团电影票能退一张吗)

  • iphone常去地点怎么查看(苹果常去地点会出错吗)

    iphone常去地点怎么查看(苹果常去地点会出错吗)

  • ari字符什么意思(ariqq字符什么意思)

    ari字符什么意思(ariqq字符什么意思)

  • 怎么屏蔽抖音好友(怎么屏蔽抖音好友推荐的作品)

    怎么屏蔽抖音好友(怎么屏蔽抖音好友推荐的作品)

  • 华为手机手机锁屏广告如何关闭(华为手机手机锁屏怎么设置)

    华为手机手机锁屏广告如何关闭(华为手机手机锁屏怎么设置)

  • gts450相当于现在什么显卡(gts450相当于amd的什么)

    gts450相当于现在什么显卡(gts450相当于amd的什么)

  • 小米10和小米10青春版区别(小米10和小米10至尊纪念版手机壳通用吗)

    小米10和小米10青春版区别(小米10和小米10至尊纪念版手机壳通用吗)

  • 钉钉连麦可以开美颜吗(钉钉连麦可以开视频吗)

    钉钉连麦可以开美颜吗(钉钉连麦可以开视频吗)

  • 手机连不上无线但电脑行(手机连不上无线网电脑能连上)

    手机连不上无线但电脑行(手机连不上无线网电脑能连上)

  • 苹果11跟11pro的区别(苹果11跟11pro的尺寸)

    苹果11跟11pro的区别(苹果11跟11pro的尺寸)

  • 京东红包怎么使用(京东红包怎么弄)

    京东红包怎么使用(京东红包怎么弄)

  • 笔记本电脑怎么打出符号(笔记本电脑怎么录屏幕视频带声音)

    笔记本电脑怎么打出符号(笔记本电脑怎么录屏幕视频带声音)

  • ipad怎么把屏幕上锁屏调出来(ipad怎么把屏幕投到mac上)

    ipad怎么把屏幕上锁屏调出来(ipad怎么把屏幕投到mac上)

  • iphone7机身多长(苹果7s机身多长)

    iphone7机身多长(苹果7s机身多长)

  • win10系统运行在哪(win10的运行在哪打开)

    win10系统运行在哪(win10的运行在哪打开)

  • 手机支付宝如何发红包(手机支付宝如何开发票)

    手机支付宝如何发红包(手机支付宝如何开发票)

  • 月牙泉在哪里(青海月牙泉在哪里)

    月牙泉在哪里(青海月牙泉在哪里)

  • 红色囍怎么打出来(红色打勾的符号怎么输入)

    红色囍怎么打出来(红色打勾的符号怎么输入)

  • 朋友圈被收藏能知道吗(朋友圈收藏能加密吗)

    朋友圈被收藏能知道吗(朋友圈收藏能加密吗)

  • 怎么才能让自己打字快(怎么才能让自己开心起来不压抑)

    怎么才能让自己打字快(怎么才能让自己开心起来不压抑)

  • 苹果8p截屏快捷键设置(苹果8p截屏快捷方式在哪)

    苹果8p截屏快捷键设置(苹果8p截屏快捷方式在哪)

  • oppor11拍照时间水印怎么设置(oppor 11手机拍照怎么显示日期时间)

    oppor11拍照时间水印怎么设置(oppor 11手机拍照怎么显示日期时间)

  • 手机话费交多了能退吗(手机话费交多了怎么退回来)

    手机话费交多了能退吗(手机话费交多了怎么退回来)

  • 手机投屏电视总是中断(手机投屏电视总是断开连接怎么回事)

    手机投屏电视总是中断(手机投屏电视总是断开连接怎么回事)

  • 手机wps是什么(手机wps下载并安装)

    手机wps是什么(手机wps下载并安装)

  • 舍夫沙万的蓝色墙壁,摩洛哥 (© Tatsuya Ohinata/Getty Images)(舍夫沙万的蓝色是什么意思)

    舍夫沙万的蓝色墙壁,摩洛哥 (© Tatsuya Ohinata/Getty Images)(舍夫沙万的蓝色是什么意思)

  • 扣非净利润和净利润的区别举例说明
  • 季度报税是哪几个月几号申报
  • 企业工商注销啥意思
  • 大病医疗专项附加扣除标准举例
  • 公司拓展训练入什么会计科目核算做分录?
  • 业务招待费如何调增调减
  • 委托收款背书和转让背书
  • 二手车销售挣钱不
  • 朋友抵押贷款通过我公司名义会怎样
  • 专票的税金
  • 同城酒店怎么开发票
  • 抵扣消费税的利益主要
  • 应收账款怎么样转入以前年度损益调整
  • 协会会费入账科目是哪个
  • 汇总记账凭证账务处理程序的优点包括
  • 变动成本主要包括
  • 普票清单可以是专票吗
  • 新版edge浏览器兼容ie
  • 华为鸿蒙系统怎么降级版本
  • 关于linux说法错误的是
  • 印花税是按开票金额还是收入
  • 土地征收补偿款多久到账
  • 用车平台服务费怎么入账
  • 向股东借款会计科目
  • 域名解析错误怎么解决mac
  • 如何删除文档中多余的页
  • php array_splice
  • ixapplet.exe - ixapplet是什么进程 有何作用
  • vue数据更新会触发什么生命周期
  • 最小计算机系统包括
  • 金融资产的条件
  • 用php编写从大到小排序
  • [JavaScript你真的以为这么简单吗]JavaScript高级
  • 企业已开出的成本怎么算
  • php 正则表达式教程
  • 关于持股平台的法律法规
  • 购买固定资产的运费计入什么科目
  • php网页上传图片并显示
  • 增值税无票收入负数预警值
  • 建筑企业预缴的增值税怎么抵扣
  • 个税申报子女教育有年龄限制吗
  • 残疾人就业保障金会计分录怎么做
  • 出口货物关税完税价格包括哪些
  • 收到采购发票如何录入系统
  • 企业专利权拥有人是指
  • 购入软件的账务处理
  • 个体户为员工缴纳社保
  • 没收租赁保证金要交增值税么
  • 金税盘减免税款分录
  • 国外工程合同类型
  • 总公司调拨子公司怎么办
  • 电话费可以自动扣银行钱吗
  • 费用误计入固定资产
  • 企业职工薪酬如何确定
  • 所得税会计凭证包括哪些
  • 建筑公司可以收工程款发票吗
  • 残疾人就业保障金怎么计算
  • 在建工程预付款授信
  • 物流货到付款可以吗
  • 子公司的财务管理方法
  • 明细分类账三栏式
  • 流动比率和速动比率过高说明什么
  • Windows Server 2008网络中禁止迅雷下载
  • fedora os
  • storm run off
  • windows createfile
  • c1.exe是什么
  • win10 ie8浏览器
  • linux和windows的区别?
  • win7纯净版和正版区别
  • win7系统里面怎么找到微信程序
  • win7笔记本电脑
  • excel乱码怎么转换
  • jquery九宫格抽奖
  • Unity3D的iTween
  • Python中random模块
  • 手机unity游戏
  • javascript零基础入门书籍
  • 东莞市官网
  • 深圳国税咨询电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设