From 4c58e0fbdb2fe5f956aee1119023d7956721f9cb Mon Sep 17 00:00:00 2001 From: Paidax Date: Tue, 11 Mar 2025 15:52:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=85=8D=E5=AF=86=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java | 3 ++- .../web/commons/shiro/realm/PlatformAuthorizingRealm.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java b/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java index aa81ce4..fe13696 100644 --- a/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java +++ b/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java @@ -7,6 +7,7 @@ import io.v.nutz.web.commons.shiro.token.PlatformCaptchaToken; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.credential.HashedCredentialsMatcher; + import java.util.Arrays; public class EasyCredentialsMatch extends HashedCredentialsMatcher { @@ -25,7 +26,7 @@ public class EasyCredentialsMatch extends HashedCredentialsMatcher { LoginUtil.LoginOrigin loginOrigin = platformCaptchaToken.getLoginOrigin(); //cas和企业微信实现免密登录 - if (loginOrigin.equals(LoginUtil.LoginOrigin.CAS) || loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN)) { + if (loginOrigin.equals(LoginUtil.LoginOrigin.CAS) || loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) || !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN)) { return true; } diff --git a/src/main/java/io/v/nutz/web/commons/shiro/realm/PlatformAuthorizingRealm.java b/src/main/java/io/v/nutz/web/commons/shiro/realm/PlatformAuthorizingRealm.java index e97c3af..cc1effe 100644 --- a/src/main/java/io/v/nutz/web/commons/shiro/realm/PlatformAuthorizingRealm.java +++ b/src/main/java/io/v/nutz/web/commons/shiro/realm/PlatformAuthorizingRealm.java @@ -94,7 +94,7 @@ public class PlatformAuthorizingRealm extends AuthorizingRealm { throw Lang.makeThrow(AuthenticationException.class, "验证码失效,请重新获取"); } user = sysUserService.fetch(Cnd.NEW().and("mobile", "=", mobile)); - }else if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN)) { + }else if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) && !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN)) { validateService.checkCode(key, captcha); if (Strings.isBlank(loginname)) { throw Lang.makeThrow(AuthenticationException.class, "登录账号不可为空"); @@ -116,7 +116,7 @@ public class PlatformAuthorizingRealm extends AuthorizingRealm { throw Lang.makeThrow(LockedAccountException.class, "账号被禁用", loginname); } - if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN)) { + if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) && !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN)) { int errCount = NumberUtils.toInt(Strings.sNull(session.getAttribute("platformErrCount"))); if (errCount >= 4) { //输错5次禁用账户10分钟