From 19c9e29273e8e751847d9dcb06b346dede48d2c8 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期三, 30 八月 2023 15:45:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java | 67 +++++++++++++++++++-------------- 1 files changed, 38 insertions(+), 29 deletions(-) diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java b/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java index 04dc927..c748854 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java @@ -1,12 +1,27 @@ package com.yuanchu.limslaboratory.clients; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.crypto.symmetric.AES; +import com.yuanchu.limslaboratory.mapper.RoleManageMapper; +import com.yuanchu.limslaboratory.mapper.UserMapper; +import com.yuanchu.limslaboratory.pojo.Menu; +import com.yuanchu.limslaboratory.pojo.RoleMenu; +import com.yuanchu.limslaboratory.pojo.User; +import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto; +import com.yuanchu.limslaboratory.shiro.utils.JwtUtils; +import com.yuanchu.limslaboratory.utils.MyUtil; +import com.yuanchu.limslaboratory.utils.RedisUtil; import com.yuanchu.limslaboratory.vo.Result; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.nio.charset.StandardCharsets; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; @Component public class UserLoginUtils { @@ -19,36 +34,10 @@ @Value("${login.secret}") private String LoginSecret; -// public Result<Map<String, Object>> LoginExamine(User user){ -// Map<String, Object> mapData = new HashMap<>(); -// mapData.put("LoginUserID", LoginUserID); -// mapData.put("LoginSecret", LoginSecret); -// Result<?> code = userClient.BusynessUserLogin(mapData); -// if (code.getCode() == 200){ -// Result<?> result = userClient.BusynessUserLoginToken(code.getData().toString()); -// if (result.getCode() == 200){ -// Map data = (Map) result.getData(); -// String token = data.get("token").toString(); -// data.remove("token"); -// user.setMap(data); -// //瀛樺叆redis,浜屼釜灏忔椂鍚庡垹闄� -// RedisUtil.set(token, user, 2); -// // 灏嗙鍙戠殑 JWT token 杩斿洖缁欏墠绔� -// HashMap<String, Object> map = new HashMap<>(); -// String refresh = JwtUtils.sign(user.getAccount()); -// map.put("token", token); -// map.put("refresh", refresh); -// RedisUtil.set(user.getAccount(), map, 168); -// return Result.success(map); -// } else { -// return Result.fail(result.getMessage()); -// } -// } else { -// return Result.fail(code.getMessage()); -// } -// } - public Result<Map<String, Object>> LoginExamine(){ + + + public Result<Map<String, Object>> LoginExamine(User user){ Map<String, Object> mapData = new HashMap<>(); mapData.put("LoginUserID", LoginUserID); mapData.put("LoginSecret", LoginSecret); @@ -59,9 +48,28 @@ Map data = (Map) result.getData(); String token = data.get("token").toString(); data.remove("token"); + HashMap<String, Object> mapRedis = new HashMap<>(); + mapRedis.put("id", user.getId()); + mapRedis.put("account", user.getAccount()); + mapRedis.put("name", user.getName()); + mapRedis.put("enterpriseId", user.getEnterpriseId()); + mapRedis.put("data", data); + String adminMD5 = SecureUtil.md5(SecureUtil.md5(user.getAccount())); + // 鏋勫缓 + AES aes = SecureUtil.aes(adminMD5.getBytes(StandardCharsets.UTF_8)); + String admins = aes.encryptHex(user.getAccount()); + mapRedis.put("sessionLayerId", SecureUtil.md5(admins)); + mapRedis.put("roleId",user.getRoleId()); + //瀛樺叆redis,浜屼釜灏忔椂鍚庡垹闄� + RedisUtil.set(token, mapRedis, 120); + // + RedisUtil.set("access_token",token,120); // 灏嗙鍙戠殑 JWT token 杩斿洖缁欏墠绔� HashMap<String, Object> map = new HashMap<>(); + String refresh = JwtUtils.sign(user.getAccount()); map.put("token", token); + map.put("refresh", refresh); + RedisUtil.set(user.getAccount(), map, 168); return Result.success(map); } else { return Result.fail(result.getMessage()); @@ -70,4 +78,5 @@ return Result.fail(code.getMessage()); } } + } -- Gitblit v1.9.3