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 { public Result> LoginExamine(User user){ String token = JwtUtils.sign(user.getAccount()); HashMap mapRedis = new HashMap<>(); mapRedis.put("id", user.getId()); mapRedis.put("account", user.getAccount()); mapRedis.put("name", user.getName()); mapRedis.put("enterpriseId", user.getEnterpriseId()); String adminMD5 = SecureUtil.md5(SecureUtil.md5(user.getAccount())); // 构建 mapRedis.put("sessionLayerId", adminMD5); mapRedis.put("roleId",user.getRoleId()); //存入redis,二个小时后删除 RedisUtil.set(token, mapRedis, 120); // RedisUtil.set("access_token",token,120); // 将签发的 JWT token 返回给前端 HashMap 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); } }