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