From 4df2b72b30d16712254ab82376eff0f5f5ff4c1e Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sun, 17 Apr 2022 10:35:00 +0800
Subject: [PATCH] 检查定时任务bean所在包名是否为白名单配置
---
ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java
index 1ffd12d..72590b0 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java
@@ -14,6 +14,7 @@
import com.ruoyi.common.core.constant.ScheduleConstants;
import com.ruoyi.common.core.exception.job.TaskException;
import com.ruoyi.common.core.exception.job.TaskException.Code;
+import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.job.domain.SysJob;
@@ -121,15 +122,13 @@
*/
public static boolean whiteList(String invokeTarget)
{
- String packageName = StringUtils.substringBefore(invokeTarget, ")");
+ String packageName = StringUtils.substringBefore(invokeTarget, "(");
int count = StringUtils.countMatches(packageName, ".");
if (count > 1)
{
- if (!StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR))
- {
- return false;
- }
+ return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR);
}
- return true;
+ Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]);
+ return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR);
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3