From 90389c7d1ff29b39cc8224fbc070b675d918e0f6 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 24 Apr 2023 21:07:31 +0800
Subject: [PATCH] 手机验证码登录实现,登录认证相关逻辑调整

---
 skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java b/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
index 5ca7780..ff7ab16 100644
--- a/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
+++ b/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -20,7 +20,6 @@
 import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
 import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient;
 import cn.gistack.system.entity.Dept;
-import cn.gistack.system.entity.Role;
 import com.alibaba.nacos.common.utils.StringUtils;
 import io.jsonwebtoken.Claims;
 import lombok.AllArgsConstructor;
@@ -78,7 +77,6 @@
 		// 获取租户ID
 		String headerTenant = request.getHeader(TokenUtil.TENANT_HEADER_KEY);
 		String paramTenant = request.getParameter(TokenUtil.TENANT_PARAM_KEY);
-		String password = request.getParameter(TokenUtil.PASSWORD_KEY);
 		String grantType = request.getParameter(TokenUtil.GRANT_TYPE_KEY);
 		// 判断租户请求头
 		if (StringUtil.isAllBlank(headerTenant, paramTenant)) {
@@ -131,11 +129,6 @@
 				setFailCount(tenantId, username, count);
 				throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND);
 			}
-			// 用户存在但密码错误,超过次数则锁定账号
-			if (grantType != null && !grantType.equals(TokenUtil.REFRESH_TOKEN_KEY) && !user.getPassword().equals(DigestUtil.hex(password))) {
-				setFailCount(tenantId, username, count);
-				throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND);
-			}
 			// 用户角色不存在
 			if (Func.isEmpty(userInfo.getRoles())) {
 				throw new UserDeniedAuthorizationException(TokenUtil.USER_HAS_NO_ROLE);
@@ -158,8 +151,11 @@
 			userInfo.getDetail().set("resIds",attRes.getData());
 
 			String deptStr = "";
-			if (userInfo.getUser().getDeptId().indexOf(",") > 0)
+			if (userInfo.getUser().getDeptId().indexOf(",") > 0){
 				deptStr = userInfo.getUser().getDeptId().split(",")[0];
+			}else {
+				deptStr = userInfo.getUser().getDeptId();
+			}
 			R<Dept> deptRes = sysClient.getDept(Long.valueOf(deptStr));
 			if (StringUtil.isBlank(deptRes.getData().getAdCode()))
 				// 部门为空
@@ -167,8 +163,6 @@
 			else
 				userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData());
 
-			// 成功则清除登录错误次数
-			delFailCount(tenantId, username);
 			return new BladeUserDetails(user.getId(),
 				user.getTenantId(), StringPool.EMPTY, user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(userInfo.getRoles()), Func.toStr(user.getAvatar(), TokenUtil.DEFAULT_AVATAR),
 				username, AuthConstant.ENCRYPT + user.getPassword(), userInfo.getDetail(), true, true, true, true,

--
Gitblit v1.9.3