6.11软工日报

继续学习satoken

//用户登录方法
    @Override
    public String login(LoginDto loginDto) {
//        先检验验证码
        String codeRedis = redisTemplate.opsForValue().get(loginDto.getCodeKey());
        if (codeRedis==null){
            throw new ResultException(555,"验证码不存在");
        }
        if (!codeRedis.equals(loginDto.getCodeValue().toLowerCase())) {
            throw new ResultException(555, "验证码错误");
        }
//        验证码正确,删除redis中的验证码
        redisTemplate.delete(loginDto.getCodeKey());
//        用户登录
        User sysUser = this.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, loginDto.getUsername()));
        if(sysUser==null){
            throw new ResultException(555,"用户不存在");
        }
 
        String md5 = SaSecureUtil.md5(loginDto.getPassword());
        if (!md5.equals(sysUser.getPassword())){
            throw new ResultException(555,"密码错误");
        }
        //根据用户id登录,第1步,先登录上
        StpUtil.login(sysUser.getId());
        // 第2步,获取 Token  相关参数
        SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
        // 第3步,返回给前端
        return tokenInfo.getTokenValue();
    }
posted @ 2024-06-14 00:02  笠大  阅读(6)  评论(0编辑  收藏  举报