From 1002b36c0a698c794320d1544c464c13b303e53c Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Thu, 16 Apr 2026 13:44:02 +0800
Subject: [PATCH] 优化白名单支持对通配符路径匹配
---
ruoyi-ui/src/utils/validate.js | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/ruoyi-ui/src/utils/validate.js b/ruoyi-ui/src/utils/validate.js
index 13b7a15..fddf7ac 100644
--- a/ruoyi-ui/src/utils/validate.js
+++ b/ruoyi-ui/src/utils/validate.js
@@ -5,7 +5,12 @@
* @returns {Boolean}
*/
export function isPathMatch(pattern, path) {
- const regexPattern = pattern.replace(/\//g, '\\/').replace(/\*\*/g, '.*').replace(/\*/g, '[^\\/]*')
+ const regexPattern = pattern
+ .replace(/([.+^${}()|\[\]\\])/g, '\\$1')
+ .replace(/\*\*/g, '__DOUBLE_STAR__')
+ .replace(/\*/g, '[^/]*')
+ .replace(/__DOUBLE_STAR__/g, '.*')
+ .replace(/\?/g, '[^/]')
const regex = new RegExp(`^${regexPattern}$`)
return regex.test(path)
}
--
Gitblit v1.9.3