| | |
| | | package org.example.controller; |
| | | |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import org.example.common.ServerResponse; |
| | | import org.example.pojo.User; |
| | | import org.example.server.impl.UserServiceImpl; |
| | | import org.example.util.JwtUtil; |
| | | import org.example.util.MD5Util; |
| | | import org.example.util.RedisUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.security.SecureRandom; |
| | | import java.util.Base64; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @program: demo |
| | |
| | | private UserServiceImpl userService; |
| | | |
| | | @PostMapping("/login") |
| | | public ServerResponse saveUser(@RequestParam("account") int account |
| | | public ServerResponse saveUser(@RequestParam("account") String account |
| | | , @RequestParam("password") String password) { |
| | | |
| | | User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getAccount, account).eq(User::getIsRoot,1)); |
| | |
| | | if (!MD5Util.verify(password, user.getPassword())) { |
| | | return ServerResponse.createBySuccessMsg("密码错误"); |
| | | } |
| | | String token = generateToken(); |
| | | RedisUtil.set(user.getAccount(),token); |
| | | return ServerResponse.createBySuccess(token); |
| | | String token = JwtUtil.getToken(user); |
| | | Map<String,String> map = new HashMap<>(); |
| | | map.put("token",token); |
| | | return ServerResponse.createBySuccess(map); |
| | | } |
| | | |
| | | // 生成指定长度的随机 token |
| | | public static String generateToken() { |
| | | SecureRandom secureRandom = new SecureRandom(); |
| | | byte[] token = new byte[16]; |
| | | secureRandom.nextBytes(token); |
| | | return Base64.getUrlEncoder().withoutPadding().encodeToString(token); |
| | | } |
| | | |
| | | } |