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<Map<String, Object>> LoginExamine(User user){
|
String token = JwtUtils.sign(user.getAccount());
|
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());
|
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<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);
|
}
|
|
}
|