SpringBoot登录注册退出设计

SpringBoot登录注册退出设计

用到redis,md5

登录

判断登录密码

public ResultUtils login(HttpServletRequest request, String username, String password) {
 if (StringUtil.isEmpty(username) || StringUtil.isEmpty(password)) {
            return ResultUtils.error("用户名或密码为空");
        }
        //根据登录的账号密码依靠反射判断是否有一条数据,
        User user = FindData(User.class, Userusername, username);
       
        if (null == user) {
            return ResultUtils.error("用户名或密码错误");
        }
        if (!user.getPassword().equals(Md5Utils.encode(password))) {
            return ResultUtils.error("用户名或密码错误");
        }
        Map<String, Object> resMap = new HashMap<>(1);
        //根据登录id生成一个token
        String token = TokenUtils.createToken(user.getId(), request);
        resMap.put("token", token);
        return ResultUtils.success(resMap);
   }

注册

public ResultUtils register(String username, String password) {
        if (StringUtil.isEmpty(username) || StringUtil.isEmpty(password)) {
            return ResultUtils.error("用户名或密码为空");
        }
        //中英文开头、数字下划线
        //工具类判断
        if (ValidateUtils.notChinaEnglishNumberUnderline(username)) {
            return ResultUtils.error("用户名不能包含特殊字符");
        }
        if (ValidateUtils.notPassword(password)) {
            return ResultUtils.error("密码为6-20位大小写和数字");
        }
        //同样依靠反射同登录
        User user = FindData(User.class, Userusername, username);
        if (null != user) {
            return ResultUtils.error("用户名已存在");
        }
        String md5Pwd = Md5Utils.encode(password);
        User newUser = new User()
                .setUsername(username)
                .setPassword(md5Pwd)
                .setCreateTime(DateUtils.getNowDateTime());
        baseInsert(newUser);
        return ResultUtils.success();
    }

退出

  public ResultUtils logout(HttpServletRequest request) {
        Long userId = WebTokenUtils.getUserIdByHttpServletRequest(request);
        //需要用到StringRedisTemplate delete方法
        //stringRedisTemplate.delete("test");根据key删除缓存
        TokenUtils.deleteToken(userId);
        return ResultUtils.success();
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值