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

  • 一般纳税人抵扣小规模期间的专票怎么解决
  • 个人所得税申报截止时间
  • 增值税和购置税是一个东西吗
  • 小规模做账流程详细
  • 金蝶入账流程
  • 人力资源公司可以接保安业务吗
  • 报完税没有清卡
  • 制药企业税收优惠政策
  • 跨年度退货可以开红字发票吗
  • 金融企业往来收入科目属于什么科
  • 记账凭证的具体审计目标
  • 投资资产包括哪些会计科目
  • 作为福利手段福利概念的三个条件是
  • 购买税控盘的钱能全额抵扣增值税吗
  • 买二手面包注意事项
  • 增值税的税额是什么意思
  • 公司集体旅游会计处理
  • 企业研发费用税前抵扣
  • 贴现利息计算器
  • 增值税专用发票查询系统官方网站
  • pvlsvr.exe - pvlsvr是什么进程 有什么用
  • 桌面图标归纳
  • 怎么做年终结算工资
  • hpdskflt.sys
  • 小规模年底税金怎么做账
  • laravel5.4生成验证码的实例讲解
  • php关闭报错
  • yii2框架的优缺点
  • vue中 router.beforeEach() 的用法
  • before跟after区别
  • 知识图谱的构建方法有两种
  • vue前端项目实战
  • dns configuration
  • php基于单例模式开发
  • ps快速选择工具抠图
  • 物流公司的会计好干吗
  • 发票清单怎么导出
  • 小规模纳税人怎么核定税种
  • 如何计提增值税销项税额
  • pyqt5 pycharm
  • 票据带息和不带息
  • 领取定额备用金的会计分录
  • 企业管理费用的分类
  • 无偿借贷什么意思
  • 预计负债转回对所得税费用的影响
  • 销售货物并提供安装服务是混合销售吗
  • 收到水电费发票要交印花税吗
  • 同一客户有应收应付可以相互抵消吗
  • 坏账准备具有什么功能
  • 本月没有销售怎么做账
  • 企业职工医院收入怎么样
  • 银行本票的使用仅限于
  • 研发费用是管理费用的比例多少不正常
  • 总账的建立
  • 企业无形资产入账标准
  • mysql批量删除数据库死锁
  • sql server本地登录
  • ccs 运行
  • WIN10系统怎么删除3Dmax
  • quicklook预览word
  • mac怎么设置图片为桌面
  • 微软被告
  • sgmain.exe - sgmain是什么进程 有何作用
  • 红石id
  • opengl画点
  • 深入浅出android开发
  • virtualbox装linux
  • linux那么多命令怎么记
  • python3 栈
  • js中||的用法
  • cmd下在win上做vpn的命令分享
  • Jquery针对tr td的一些实用操作方法(必看篇)
  • xml文件的数据如何读取
  • 深入理解新发展理念,推进供给侧结构性改革
  • unity3d物理现象模拟
  • linux给本地用户发邮件
  • 在python中通过什么语句创建一个空集合
  • 中国税务徽标
  • 个体非正常户怎么解除
  • 出口退税已提交数据撤回
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设