diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java index 42febe1f..f4595824 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java @@ -1,5 +1,6 @@ package com.ruoyi.system.api; +import com.ruoyi.common.core.exception.user.UserException; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; @@ -16,7 +17,7 @@ public interface RemoteUserService { * @param username 用户名 * @return 结果 */ - LoginUser getUserInfo(String username); + LoginUser getUserInfo(String username) throws UserException; /** * 注册用户信息 diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 6a00bf95..c1b904d1 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -6,7 +6,6 @@ import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.enums.UserType; -import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.exception.user.UserException; import com.ruoyi.common.core.utils.MessageUtils; import com.ruoyi.common.core.utils.ServletUtils; @@ -39,19 +38,7 @@ public class SysLoginService { * 登录 */ public LoginUser login(String username, String password) { - LoginUser userInfo; - try { - // 查询用户信息 - userInfo = remoteUserService.getUserInfo(username); - - if (ObjectUtil.isNull(userInfo)) { - recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.not.exists", username)); - throw new UserException("user.not.exists", username); - } - } catch (Exception e) { - recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()); - throw new ServiceException(e.getMessage()); - } + LoginUser userInfo = remoteUserService.getUserInfo(username); // 获取用户登录错误次数(可自定义限制策略 例如: key + username + ip) Integer errorNumber = RedisUtils.getCacheObject(CacheConstants.LOGIN_ERROR + username); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java index 950bdc0c..1d53e5bf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java @@ -35,7 +35,7 @@ public class RemoteUserServiceImpl implements RemoteUserService { private final ISysConfigService configService; @Override - public LoginUser getUserInfo(String username) { + public LoginUser getUserInfo(String username) throws UserException { SysUser sysUser = userService.selectUserByUserName(username); if (ObjectUtil.isNull(sysUser)) { throw new UserException("user.not.exists", username);