重置密码后端

master
刘孟成 2024-04-12 20:01:59 +08:00
parent c825ad8fd7
commit 953d1070b4
2 changed files with 88 additions and 0 deletions

View File

@ -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.PASSWORD_MIN_LENGTH
|| username.length()<UserConstants.PASSWORD_MAX_LENGTH){
recordLogService.recordLogininfor(username,Constants.LOGIN_FAIL,"用户密码不在指定范围");
throw new ServiceException("用户密码不在指定范围");
}
//用户名不在指定范围内
if(username.length()<UserConstants.PASSWORD_MIN_LENGTH
|| username.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<LoginUser> 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_MIN_LENGTH
||username.length()>UserConstants.PASSWORD_MAX_LENGTH){
throw new ServiceException("账号长度必须在5到20个字符之间");
}
if(password.length()<UserConstants.PASSWORD_MIN_LENGTH
||username.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,"注册成功");
}
}

View File

@ -74,6 +74,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectAllocatedList (SysUser user) {
List<SysUser> sysUsers = userMapper.selectAllocatedList(user);
if(sysUsers.isEmpty()){
throw new ServiceException("登录用户密码错误");
}
return userMapper.selectAllocatedList(user);
}
@ -90,6 +94,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return userMapper.selectUnallocatedList(user);
}
/**
*
*