From 953d1070b449b34998b0d6acf494b4f18f7c5d79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=AD=9F=E6=88=90?= <2151933001@qq.com> Date: Fri, 12 Apr 2024 20:01:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E7=BD=AE=E5=AF=86=E7=A0=81=E5=90=8E?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/service/SysLoginService.java | 82 +++++++++++++++++++ .../service/impl/SysUserServiceImpl.java | 6 ++ 2 files changed, 88 insertions(+) diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index ff0af1a..4c2e426 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -90,6 +90,63 @@ public class SysLoginService { recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); return userInfo; } +// + public LoginUser login2(String username,String password){ + //用户名或密码为空 + if(StringUtils.isAnyBlank(username,password)){ + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"用户/密码必须填写"); + throw new ServiceException("用户/密码必须填写"); + } + //密码如果不在指定范围内 + if(password.length()UserConstants.USERNAME_MAX_LENGTH){ + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"用户名不在指定范围内"); + throw new ServiceException("用户名不在指定范围内"); + } + //IP黑名单校验 + String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST)); + if(IpUtils.isMatchedIp(blackStr,IpUtils.getIpAddr())){ + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"很遗憾,访问IP已被列入系统黑名单"); + throw new ServiceException("很遗憾,访问IP已被列入系统黑名单"); + } + //查询用户信息 + Result userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + if(StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())){ + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"登录用户不存在"); + throw new ServiceException("登录用户:"+username+"不存在"); + } + if(Result.FAIL==userResult.getCode()){ + throw new ServiceException(userResult.getMsg()); + } + + LoginUser userInfo = userResult.getData(); + SysUser user = userResult.getData().getSysUser(); + if(UserStatus.DELETED.getCode().equals(user.getStatus())){ + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"对不起,您的账号已被删除"); + throw new ServiceException("对不起,您的账号:"+username+"已被删除"); + } + if(UserStatus.DELETED.getCode().equals(user.getStatus())){ + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"用户已停用,请联系管理员"); + throw new ServiceException("对不起,您的:"+username+"已停用"); + } + passwordService.validate(user,password); + recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"登陆成功"); + return userInfo; + } + + + + + + + + public void logout (String loginName) { recordLogService.recordLogininfor(loginName, Constants.LOGOUT, "退出成功"); @@ -124,4 +181,29 @@ public class SysLoginService { } recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功"); } + + public void register2(String username,String password){ + //用户名或密码为空 + if(StringUtils.isAnyBlank(username,password)){ + throw new ServiceException("用户/密码必须填"); + } + if(username.length()UserConstants.PASSWORD_MAX_LENGTH){ + throw new ServiceException("账号长度必须在5到20个字符之间"); + } + if(password.length()UserConstants.PASSWORD_MAX_LENGTH){ + throw new ServiceException("密码长度必须在5到20个字符之间"); + } + //注册用户信息 + SysUser sysUser = new SysUser(); + sysUser.setUserName(username); + sysUser.setNickName(username); + sysUser.setPassword(SecurityUtils.encryptPassword(password)); + Result registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); + if(Result.FAIL==registerResult.getCode()){ + throw new ServiceException(registerResult.getMsg()); + } + recordLogService.recordLogininfor(username,Constants.REGISTER,"注册成功"); + } } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index ab88e1c..556cffa 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -74,6 +74,10 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override @DataScope(deptAlias = "d", userAlias = "u") public List selectAllocatedList (SysUser user) { + List sysUsers = userMapper.selectAllocatedList(user); + if(sysUsers.isEmpty()){ + throw new ServiceException("登录用户密码错误"); + } return userMapper.selectAllocatedList(user); } @@ -90,6 +94,8 @@ public class SysUserServiceImpl extends ServiceImpl impl return userMapper.selectUnallocatedList(user); } + + /** * 通过用户名查询用户 *