From dfa74d70bc18445534c120a27b4b9260aeb2e2f3 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 12 十月 2023 10:04:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java
index 11294a7..1320bca 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java
@@ -31,6 +31,7 @@
 import org.springblade.core.jwt.JwtUtil;
 import org.springblade.core.jwt.props.JwtProperties;
 import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.*;
@@ -62,9 +63,9 @@
 public class BladeUserDetailsServiceImpl implements UserDetailsService {
 
 	/**
-	 * 鍏佽閿欒娆℃暟
+	 * 榛樿鍏佽閿欒娆℃暟
 	 */
-	//public static final Integer FAIL_COUNT = 5;
+	public static final Integer FAIL_COUNT = 5;
 	public static final String FAIL_COUNT_VALUE = "account.failCount";
 
 	/**
@@ -77,7 +78,6 @@
 	private final BladeRedis bladeRedis;
 
 	private final JwtProperties jwtProperties;
-
 
 	/**
 	 * 瓒呯骇绠$悊鍛樹俊鎭�
@@ -125,24 +125,25 @@
 		// 鍒ゆ柇鐧诲綍鏄惁閿佸畾
 		int count = getFailCount(tenantId, username);
 		//涓洪槻姝㈠彇鍊间负绌烘姤閿欑殑鎯呭喌锛屽綋涓虹┖鐨勬椂鍊欑粰榛樿鍙负5娆′究閿佸畾鐢ㄦ埛鐧诲綍锛屼絾鏄竴鑸緢闅惧嚭鐜拌繖绉嶆儏鍐碉紝鍥犱负鎴慺eign閲岄潰鏄粰浜嗛粯璁ゅ瘑鐮佺瓥鐣ユ煡璇㈢殑
-		int failCountValue = Func.isEmpty(strategy) ? 5:Func.toInt(strategy.getLockingNum());
-
+		int failCountValue = Func.isEmpty(strategy) ? FAIL_COUNT:Func.toInt(strategy.getLockingNum());
 		int failCount = Func.toInt(ParamCache.getValue(FAIL_COUNT_VALUE), failCountValue);
 
 		if (count >= failCount) {
 			throw new UserDeniedAuthorizationException(TokenUtil.USER_HAS_TOO_MANY_FAILS);
 		}
-		//瓒呯骇绠$悊鍛橀厤缃枃浠堕厤缃处鍙峰瘑鐮侊紝瀹炵幇鐧诲綍, 榛樿绉熸埛id涓�000000
-		if(tenantId.equals(this.tenantId)){
+
+		//瓒呯骇绠$悊鍛橀厤缃枃浠堕厤缃处鍙峰瘑鐮侊紝瀹炵幇鐧诲綍, 榛樿绉熸埛id鍜岃秴绠′负閰嶇疆鍑烘潵鐨�
+		if(tenantId.equals(this.tenantId) && userName.equals(username)){
 			if (!this.userName.equals(username) && !password.equalsIgnoreCase(this.password)) {
 				setFailCount(tenantId, username, count,strategy.getLockingTime());
 				throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND);
 			}
 			//濡傛灉ip姣斿鍚巊et鎶涘嚭寮傚父No value present灏辩洿鎺ユ姏寮傚父缁撴潫鐧诲綍
 			if(ipEnable){
-				Log.debug("褰撳墠璁块棶IP锛�"+getIpAddress(request));
+				// Log.debug("褰撳墠璁块棶IP锛�"+getIpAddress(request));
+				Log.debug("褰撳墠璁块棶IP锛�"+WebUtil.getIP(request));
 				try {
-					ips.stream().filter(s -> s.equals(getIpAddress(request))).findFirst().get();
+					ips.stream().filter(s -> s.equals(WebUtil.getIP(request))).findFirst().get();
 				} catch (Exception e){
 					throw new UserDeniedAuthorizationException(TokenUtil.IP_NOT_FOND);
 				}

--
Gitblit v1.9.3