|
|
@@ -91,17 +91,29 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
|
|
|
|
|
@Override
|
|
|
public AdminUserDO authenticate(String username, String password) {
|
|
|
+
|
|
|
+ Long tenantId = TenantContextHolder.getTenantId();
|
|
|
+
|
|
|
final LoginLogTypeEnum logTypeEnum = LoginLogTypeEnum.LOGIN_USERNAME;
|
|
|
|
|
|
// 校验账号是否存在
|
|
|
List<AdminUserDO> userList = TenantUtils.executeIgnore(() ->
|
|
|
userService.getUserListByUsername(username)
|
|
|
);
|
|
|
+
|
|
|
if (userList.isEmpty()) {
|
|
|
createLoginLog(null, username, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
|
|
|
throw exception(AUTH_LOGIN_BAD_CREDENTIALS);
|
|
|
}
|
|
|
|
|
|
+ if (Objects.nonNull(tenantId)) {
|
|
|
+ userList.removeIf(userDO -> !userDO.getTenantId().equals(tenantId));
|
|
|
+ if (userList.isEmpty()) {
|
|
|
+ createLoginLog(null, username, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
|
|
|
+ throw exception(AUTH_LOGIN_TENANT_NOT_EXISTS);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
AdminUserDO user = userList.get(0);
|
|
|
boolean isMatch = true;
|
|
|
for (AdminUserDO userDO : userList) {
|