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

  • 本期应补退税额和期末未缴税额
  • 已抵扣进项税转出是在哪个属期
  • 进项税额怎么抵税
  • 运输公司的税率是多少
  • 企业购车发票怎么查询
  • 个税哪种申报方式计税最好
  • 在没有进项票的情况下可以开销售票出去么
  • 本年利润借方专栏有什么
  • 购进蔬菜的进项税额
  • 建筑企业预收款开票
  • 预付账款发票到货未到怎么做账
  • 建筑业发票可以在备注里加备注么
  • 委托收款有什么用
  • 增值税发票作废有什么损失
  • 实收资本印花税减免税优惠政策2019
  • 消费金融服务要交税吗
  • 自然人税收申报显示申报失败:未选择纳税人
  • 联营和合营的区别共同控制
  • 认证成功次月何时补发
  • 网络唤醒的原理
  • 购买机器设备配件账务处理
  • 阿拉斯加州zip
  • 支付费用没有发票怎么做账务处理
  • 公司收到医疗保障事务中心的转账
  • 如何修复win10开机转圈五分钟
  • python安装tensorflow gpu
  • mouse.exe在哪个文件夹
  • umi ts
  • “Property or method “***“ is not defined on the instance but referenced during render.”报错的原因及解决方案
  • 补充养老保险税前扣除标准与扣除比例
  • 股东出资未注明投资款可以通过验资报告处理么
  • 停车费报销怎么做账
  • 控制器操作视频
  • python如何在画布上写字
  • mysql常见报错
  • vue整合electron
  • 公司活动赠送小礼品
  • 小微企业应纳税所得额计算
  • 房租收入如何纳税
  • 小规模纳税人国税地税都要交吗
  • 销售退回特殊情形有哪些
  • 建筑施工安全费用提取标准
  • 长期挂账应付款的处理方法
  • 主营业务收入借方表示
  • 走逃失联企业管理办法
  • 收到国税退款的分录
  • 应交税费的记账分录
  • 短期理财收益账务分录
  • 利润表增加,资产负债表减少怎么回事
  • 新成立公司年初余额
  • sql排序分组语句
  • win7桌面右键菜单设置
  • centos7挂载
  • pps是什么文件
  • win10装老版本
  • linux应对攻击的防御手段
  • windows7包含6个版本其中什么最强大支持的功能最多
  • windows7开机显示错误恢复进不去
  • vsftpd教程
  • wind移动版
  • cocos2dx菜鸟教程
  • unity调整地形高度
  • a10 config backup for aXAPI
  • Zxing在CameraManager.get().closeDriver()报错
  • 批处理自动关闭
  • node.js中的http.response.write方法使用说明
  • 批处理应用实例
  • node 调用c
  • particular粒子怎么用
  • vue轮播图插件有哪些
  • python中的类怎样理解
  • python系统监控
  • 江苏省社科院院士名单
  • 查税务在哪里查
  • 烟丝和烟有什么区别
  • 成都市青羊区国有资产监督管理办公室
  • 电子发票查询官方
  • 河南网上报税流程图
  • 国税局对出口退税的要求
  • 苏州税务局办税时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设