From 583a11b28dfba598b94e6f9a4d0d1875f6373c3d Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 26 九月 2023 17:55:27 +0800
Subject: [PATCH] 配置文件
---
springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 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 ee9feb0..9de87c6 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_";
@@ -54,7 +60,7 @@
// 获取表单输入中返回的用户名
String userName = (String)authentication.getPrincipal();
String password =(String)authentication.getCredentials();
- if(!userName.contains("_1")){
+ if(!userName.contains("_1")&&!userName.contains("_6")){
try {
password = MyAESUtil.Decrypt((String)authentication.getCredentials(),"Ryo7M3n8loC5Abcd");
} catch (Exception e) {
@@ -64,8 +70,8 @@
if(flag){
Integer time= (Integer) redisTemplate.opsForValue().get(LOGIN_FAIL+userName);
if(time>=5){
- redisTemplate.opsForValue().set(LOGIN_FAIL+userName,5, Duration.ofMinutes(5));
- throw new LockedException("登录错误超过限制,请五分钟后重试");
+ redisTemplate.opsForValue().set(LOGIN_FAIL+userName,5);
+ throw new LockedException("登录错误超过限制,账号已被锁定");
}
}
// 查询用户是否存在
@@ -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 {
@@ -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