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

  • 优化防控工作的二十条措施提出:“加大‘一刀切’、层层加码问题整治力度。

  • qq看点怎么关闭(QQ看点怎么关闭自动下一个视频)

  • Excel大小不等单元格咋复制(大小不一的单元格怎么排序)

  • 小米锁屏壁纸自动变怎么弄(小米锁屏壁纸自己换了)

  • 苹果8p原彩显示有什么用(苹果8p原彩显示打开好还是关闭好)

  • 给骑手差评知道是谁吗(给骑手差评骑手本人能看到吗)

  • 怎么唤醒小爱同学(怎么唤醒小爱同学语音功能)

  • 微信发朋友圈怎么改位置(微信发朋友圈怎么屏蔽部分好友)

  • 微信的记录可以同步到另一个手机上吗(微信的记录可以转到新手机吗)

  • 因特网最初创建时的应用领域是什么(因特网的最早雏形)

  • 苹果数据线忽然不能用了(苹果数据线忽然断了)

  • 移动apn接入点哪个快(移动apn接入点哪个网速最好)

  • 苹果11有没有闪光灯(苹果11有没有闪光灯拍照)

  • ps如何改变字体形状(ps如何改变字体笔画形状)

  • 手机老是黑屏怎么办(手机老是黑屏怎么解决小米)

  • 乐视手机怎么解绑账号(乐视手机怎么解除账号)

  • vue速度怎么调节(vue 怎么调试)

  • iphone11夜拍模式怎么开(iphone11夜拍功能)

  • 红米k20pro看视频怎么全屏(红米k20pro看视频掉帧)

  • 抖音集音符不能送好友吗(抖音音符不能自动转换)

  • qq音乐哪里看登录设备(qq音乐怎么查看登陆了什么设备)

  • mac电脑忘记管理员密码(mac系统忘记管理员)

  • 手机令牌是什么(手机令牌是什么名字叫什么)

  • mac网页怎么全屏浏览? mac全屏的四种方法(macbookair网页全屏)

  • 现代信号处理——时频分析与时频分布(小波变换)(现代信号处理张贤达)

  • 织梦检索数据查询数据库前端实现搜索功能(PHP网站通用)(织梦cms官网)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络