From 86df207c37502cce1b2043e1c7c0486459eef1d6 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 13 三月 2025 19:58:45 +0800 Subject: [PATCH] 党员、诉求评论基础代码 --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java | 28 +++++++++++++++++----------- 1 files changed, 17 insertions(+), 11 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java index d52071f..20a5bd8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java @@ -36,6 +36,8 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.service.user.UserService; +import static java.util.Objects.nonNull; + /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 登录认证 @@ -69,7 +71,7 @@ Integer time= (Integer) redisTemplate.opsForValue().get(LOGIN_FAIL+userName); if(time>=5){ redisTemplate.opsForValue().set(LOGIN_FAIL+userName,5); - throw new LockedException("登录错误超过限制,账号已被锁定"); + throw new LockedException("账号或密码错误,登录错误超过限制"); } } // 查询用户是否存在 @@ -93,7 +95,7 @@ // 我们还要判断密码是否正确,这里我们的密码使用BCryptPasswordEncoder进行加密的 if (!new BCryptPasswordEncoder().matches(password, loginUserInfoVO.getPassword())) { lockLogin(flag,userName); - throw new BadCredentialsException("密码不正确"); + throw new BadCredentialsException("账号或密码错误"); } // 还可以加一些其他信息的判断,比如用户账号已停用等判断 if (loginUserInfoVO.getStatus().intValue() == 2) { @@ -102,9 +104,11 @@ // 维护最后登录时间 userService.putUserLastLoginTime(loginUserInfoVO.getUserId()); //是否为专家登陆 - R r1 = communityService.isExpert(loginUserInfoVO.getPhone()); - if (r1.getCode()== Constants.SUCCESS){ - loginUserInfoVO.setType(13); + if (nonNull(loginUserInfoVO.getPhone())){ + R r1 = communityService.isExpert(loginUserInfoVO.getPhone()); + if (r1.getCode()== Constants.SUCCESS){ + loginUserInfoVO.setType(13); + } } return new UsernamePasswordAuthenticationToken(loginUserInfoVO, password, grantedAuthorityList); } @@ -112,7 +116,7 @@ // 查询用户是否存在 R<LoginUserInfoVO> r = userService.getUserInfo(userName); if (r.getCode() != 200) { - throw new UsernameNotFoundException("该账号不存在"); + throw new UsernameNotFoundException("账号或密码错误"); } LoginUserInfoVO loginUserInfoVO = r.getData(); List<GrantedAuthority> grantedAuthorityList = new ArrayList<>(); @@ -123,11 +127,11 @@ }); } if (ObjectUtils.isEmpty(loginUserInfoVO.getAccount())) { - throw new UsernameNotFoundException("该账号不存在"); + throw new UsernameNotFoundException("账号或密码错误"); } // 我们还要判断密码是否正确,这里我们的密码使用BCryptPasswordEncoder进行加密的 if (!new BCryptPasswordEncoder().matches(password, loginUserInfoVO.getPassword())) { - throw new BadCredentialsException("密码不正确"); + throw new BadCredentialsException("账号或密码错误"); } // 还可以加一些其他信息的判断,比如用户账号已停用等判断 if (loginUserInfoVO.getStatus().intValue() == 2) { @@ -136,9 +140,11 @@ // 维护最后登录时间 userService.putUserLastLoginTime(loginUserInfoVO.getUserId()); //是否为专家登陆 - R r1 = communityService.isExpert(loginUserInfoVO.getPhone()); - if (r1.getCode()== Constants.SUCCESS){ - loginUserInfoVO.setType(13); + if (nonNull(loginUserInfoVO.getPhone())){ + R r1 = communityService.isExpert(loginUserInfoVO.getPhone()); + if (r1.getCode() == Constants.SUCCESS){ + loginUserInfoVO.setType(13); + } } return new UsernamePasswordAuthenticationToken(loginUserInfoVO, password, grantedAuthorityList); -- Gitblit v1.7.1