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

  • 税收负担影响企业的利润吗
  • 财务负责人和法人可以是夫妻吗
  • 个人生产经营所得税计算器
  • 预缴的附加税月末结转吗
  • 国外进口原材料会计处理
  • 30人以上的企业有哪些
  • 外购货物用于集体福利属于什么
  • 企业购房税费政策
  • 个人转让商铺个人所得税核定征收
  • 装卸费和保险费是价外费用吗
  • 以前年度管理费用多计
  • 以固定资产增资子公司 可以溢价么
  • 本年已预缴所得税
  • 历史成本重置成本属于会计是什么
  • 生产成本转入库存商品金额怎么算
  • 没给顾客发票需要罚款吗
  • 预付卡销售发票可以报销吗?
  • 从银行贷款转借他人法院如何判
  • 知识产权支出
  • surface安装win10专业版
  • 单位购买金税盘的分录
  • linux docx
  • 投资企业流程
  • win 10有什么用
  • ocxdll.exe - ocxdll是什么进程 有什么用
  • 怎么让win7不锁定
  • 企业退货产生的损失谁承担
  • 取得增值税发票丢了怎么是好
  • windows环境下,ping的功能和使用方法
  • 办公楼改造方案
  • 所得税季报资产总额怎么算
  • win10本地模式
  • 浅谈当下火热的行业
  • 开源ei
  • PHP HTTP 认证实例详解
  • ps怎么弄树
  • 对方代垫保险费算不算入账价值
  • python字典添加数据
  • 申报错误要罚款吗
  • sql server 2008打开界面
  • 理解的近义词
  • 小规模减免附加税会计分录怎么做
  • 股东权益合计等于净资产吗
  • 长期应收款计提减值
  • 红冲上月发票都附什么附件
  • 转账结算的原则是什么
  • 金税盘要交税吗
  • 暂估成本发票最晚什么时候补齐
  • 预付卡充值可以退吗
  • 呆滞原材料变卖的会计处理
  • 售后租回交易的表述
  • 待处理财产损溢借贷增减方向
  • 出售辅助材料怎么做账
  • 协定存款是什么存款
  • 金税盘的初始密码一般是多少
  • 往来是啥意思
  • 注销股本对所有股票影响
  • win10下mysql 5.7.17 zip压缩包版安装教程
  • windows xp开机按f12是什么操作
  • xp系统玩英雄联盟出现win32
  • freebsd ip配置
  • debian7安装教程
  • xp系统屏幕倒过来了怎么恢复
  • WIN7系统如何设置开机密码和屏保密码
  • Tutorial 3: First Triangle
  • css清除浮动方法有哪几种
  • nodejs mock
  • pip工具安装
  • python解读
  • android客户端开发是干嘛的
  • 常见的shell脚本
  • python数字运算规则
  • javascriptcsdn
  • js中!
  • JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
  • jquery each return
  • 对税务机关的意见建议怎么写
  • 车辆购置税是地方收入吗
  • 上海地铁发票可以随便要吗
  • 税务局的局长是什么级别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设