From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/modules/auth/granter/PasswordTokenGranter.java | 17 ++++++++---------
1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/main/java/org/springblade/modules/auth/granter/PasswordTokenGranter.java b/src/main/java/org/springblade/modules/auth/granter/PasswordTokenGranter.java
index b8cc88e..4ba934b 100644
--- a/src/main/java/org/springblade/modules/auth/granter/PasswordTokenGranter.java
+++ b/src/main/java/org/springblade/modules/auth/granter/PasswordTokenGranter.java
@@ -17,6 +17,8 @@
package org.springblade.modules.auth.granter;
import lombok.AllArgsConstructor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springblade.common.cache.CacheNames;
import org.springblade.common.cache.ParamCache;
import org.springblade.core.log.exception.ServiceException;
@@ -48,6 +50,8 @@
@AllArgsConstructor
public class PasswordTokenGranter implements ITokenGranter {
+ protected static final Logger logger = LoggerFactory.getLogger(CaptchaTokenGranter.class);
+
public static final String GRANT_TYPE = "password";
public static final Integer FAIL_COUNT = 5;
public static final String FAIL_COUNT_VALUE = "account.failCount";
@@ -68,11 +72,14 @@
String tenantId = tokenParameter.getArgs().getStr("tenantId");
String username = tokenParameter.getArgs().getStr("username");
String password = tokenParameter.getArgs().getStr("password");
+ // 获取登录类型 2:pc 3:app
+ String type = tokenParameter.getArgs().getStr("loginType");
// 判断登录是否锁定
int cnt = Func.toInt(bladeRedis.get(CacheNames.tenantKey(tenantId, CacheNames.USER_FAIL_KEY, username)), 0);
int failCount = Func.toInt(ParamCache.getValue(FAIL_COUNT_VALUE), FAIL_COUNT);
if (cnt >= failCount) {
+ logger.error("用户名或密码错误,用户账号:{},用户名:{},错误次数:{}",tenantId, username, cnt);
throw new ServiceException(TokenUtil.USER_HAS_TOO_MANY_FAILS);
}
@@ -83,16 +90,8 @@
if (TokenUtil.judgeTenant(tenant)) {
throw new ServiceException(TokenUtil.USER_HAS_NO_TENANT_PERMISSION);
}
- // 获取用户类型
- String userType = tokenParameter.getArgs().getStr("userType");
// 根据不同用户类型调用对应的接口返回数据,用户可自行拓展
- if (userType.equals(UserEnum.WEB.getName())) {
- userInfo = userService.userInfo(tenantId, username, DigestUtil.hex(password), UserEnum.WEB);
- } else if (userType.equals(UserEnum.APP.getName())) {
- userInfo = userService.userInfo(tenantId, username, DigestUtil.hex(password), UserEnum.APP);
- } else {
- userInfo = userService.userInfo(tenantId, username, DigestUtil.hex(password), UserEnum.OTHER);
- }
+ userInfo = userService.userInfo(tenantId, username, DigestUtil.hex(password), Integer.parseInt(type));
}
if (userInfo == null || userInfo.getUser() == null) {
// 增加错误锁定次数
--
Gitblit v1.9.3