From e912e2c31d305e79189132369480efd280d30c10 Mon Sep 17 00:00:00 2001 From: tjq Date: Sat, 9 Nov 2024 18:05:26 +0800 Subject: [PATCH] feat: NOT_ALLOWED_CHANGE_PASSWORD_ACCOUNTS --- .../java/tech/powerjob/common/PowerJobDKey.java | 2 ++ .../service/impl/PwjbUserWebServiceImplImpl.java | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/powerjob-common/src/main/java/tech/powerjob/common/PowerJobDKey.java b/powerjob-common/src/main/java/tech/powerjob/common/PowerJobDKey.java index cf9819a6..97f859f6 100644 --- a/powerjob-common/src/main/java/tech/powerjob/common/PowerJobDKey.java +++ b/powerjob-common/src/main/java/tech/powerjob/common/PowerJobDKey.java @@ -64,4 +64,6 @@ public class PowerJobDKey { public static final String WORKER_RUNTIME_SWAP_TASK_SCHEDULE_INTERVAL_MS = "powerjob.worker.swap.scan-interval"; + public static final String SERVER_TEST_ACCOUNT_USERNAME = "powerjob.server.test-accounts"; + } diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/PwjbUserWebServiceImplImpl.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/PwjbUserWebServiceImplImpl.java index 356ff200..20e752d7 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/PwjbUserWebServiceImplImpl.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/PwjbUserWebServiceImplImpl.java @@ -1,14 +1,17 @@ package tech.powerjob.server.web.service.impl; +import com.google.common.collect.Lists; import com.google.common.collect.Sets; import lombok.SneakyThrows; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import tech.powerjob.common.PowerJobDKey; +import tech.powerjob.common.enums.ErrorCodes; import tech.powerjob.common.serialize.JsonUtils; import tech.powerjob.common.utils.CommonUtils; -import tech.powerjob.common.enums.ErrorCodes; -import tech.powerjob.server.auth.common.PowerJobAuthException; import tech.powerjob.common.utils.DigestUtils; +import tech.powerjob.server.auth.common.PowerJobAuthException; +import tech.powerjob.server.common.SJ; import tech.powerjob.server.persistence.remote.model.PwjbUserInfoDO; import tech.powerjob.server.persistence.remote.repository.PwjbUserInfoRepository; import tech.powerjob.server.web.request.ChangePasswordRequest; @@ -88,7 +91,12 @@ public class PwjbUserWebServiceImplImpl implements PwjbUserWebService { } // 测试账号特殊处理 - if (NOT_ALLOWED_CHANGE_PASSWORD_ACCOUNTS.contains(username)) { + Set testAccounts = Sets.newHashSet(NOT_ALLOWED_CHANGE_PASSWORD_ACCOUNTS); + String testAccountsStr = System.getProperty(PowerJobDKey.SERVER_TEST_ACCOUNT_USERNAME); + if (StringUtils.isNotEmpty(testAccountsStr)) { + testAccounts.addAll(Lists.newArrayList(SJ.COMMA_SPLITTER.split(testAccountsStr))); + } + if (testAccounts.contains(username)) { throw new IllegalArgumentException("this account not allowed change the password"); }