RuoYi
2026-04-16 1002b36c0a698c794320d1544c464c13b303e53c
优化白名单支持对通配符路径匹配
1 files modified
7 ■■■■ changed files
ruoyi-ui/src/utils/validate.js 7 ●●●● patch | view | raw | blame | history
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)
}