首页
归档
留言
友链
广告合作
壁纸
更多
美女主播
Search
1
博瑞GE车机升级/降级
5,573 阅读
2
Mac打印机设置黑白打印
4,884 阅读
3
修改elementUI中el-table树形结构图标
4,861 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,645 阅读
5
intelliJ Idea 2022.2.X破解
4,313 阅读
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Spring Cloud
Mac
MyBatis
WordPress
Nacos
Spring Cloud Alibaba
MacOS
Mybatis-Plus
Typecho
jQuery
Java Script
asp.net
MySQL
IntelliJ IDEA
微信小程序
Sentinel
UniApp
asp.net core
Laughing
累计撰写
613
篇文章
累计收到
1,427
条评论
首页
栏目
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
友链
广告合作
壁纸
美女主播
搜索到
1
篇与
的结果
2025-04-03
若依前后端分离项目白名单支持携带参数
RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。若依前端框架通过permission.js文件中的whiteList进行配置的,比如登录、注册登连接,需要能直接跳转,只需要在whiteList中配置上对应的路由即可。const whiteList = ['/login', '/register']然后在路由打开前,判断路由是否在白名单内。但是这个判断逻辑存在一个问题,就是判断方法使用的whiteList.indexOf(to.path),这样如果我们路由携带参数的话,会无法实现,因为参数是动态的,我们无法配置白名单。为了实现跳转,我们需要替换whiteList.indexOf(to.path)方法,通过正则表达式的方式进行匹配。增加正则表达式校验方法在utils\validate.js文件中,增加正则校验方法/** * 路径匹配器 * @param {string} pattern * @param {string} path * @returns {Boolean} */ export function isPathMatch(pattern, path) { const regexPattern = pattern.replace(/\//g, '\\/').replace(/\*\*/g, '.*').replace(/\*/g, '[^\\/]*') const regex = new RegExp(`^${regexPattern}$`) return regex.test(path) }修改permission.js在permission.js引入新增的方法,并将原来的whiteList.indexOf(to.path)替换成新方法。import { isPathMatch } from '@/utils/validate' const isWhiteList = (path) => { return whiteList.some(pattern => isPathMatch(pattern, path)) }
2025年04月03日
16 阅读
0 评论
0 点赞