From 1c2f77487c571580ffcde86e21f49a56cfc6d3d6 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期二, 24 十二月 2024 14:54:36 +0800 Subject: [PATCH] 花城 处理密码错误 回显不一致 --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 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 02a8815..635e95c 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 @@ -13,7 +13,9 @@ import javax.crypto.NoSuchPaddingException; import com.panzhihua.auth.config.MyAESUtil; +import com.panzhihua.common.constants.Constants; import com.panzhihua.common.model.helper.AESUtil; +import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.AES; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; @@ -34,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: 登录认证 @@ -46,6 +50,8 @@ private UserService userService; @Resource private RedisTemplate redisTemplate; + @Resource + private CommunityService communityService; private static String LOGIN_FAIL="LOGIN_FAIL_"; @@ -89,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) { @@ -97,6 +103,13 @@ } // 维护最后登录时间 userService.putUserLastLoginTime(loginUserInfoVO.getUserId()); + //是否为专家登陆 + if (nonNull(loginUserInfoVO.getPhone())){ + R r1 = communityService.isExpert(loginUserInfoVO.getPhone()); + if (r1.getCode()== Constants.SUCCESS){ + loginUserInfoVO.setType(13); + } + } return new UsernamePasswordAuthenticationToken(loginUserInfoVO, password, grantedAuthorityList); } else { @@ -118,7 +131,7 @@ } // 我们还要判断密码是否正确,这里我们的密码使用BCryptPasswordEncoder进行加密的 if (!new BCryptPasswordEncoder().matches(password, loginUserInfoVO.getPassword())) { - throw new BadCredentialsException("密码不正确"); + throw new BadCredentialsException("账号或密码错误"); } // 还可以加一些其他信息的判断,比如用户账号已停用等判断 if (loginUserInfoVO.getStatus().intValue() == 2) { @@ -126,6 +139,13 @@ } // 维护最后登录时间 userService.putUserLastLoginTime(loginUserInfoVO.getUserId()); + //是否为专家登陆 + 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