注册成功后无法登录问题

用户注册成功后,使用密码进行登录,提示密码错误。(url请求正常,json信息正常返回)数据库中保存的是使用MD5加密后的算法。

   public ResultVO checkLogin(String username, String pwd) {
        User user = userDAO.getUserByName(username);
        // md5加密后的密码
        String password = MD5Utils.md5(pwd);
        System.out.println("加密后的密码是"+password);
        if(user == null){
            // 用户名错误
            return new  ResultVO(10001, "用户名错误", null);
        }else {
            if(user.getPassword().equals(password)) {
                return new ResultVO(10000, "登录成功", user);
            } else{
                    return new ResultVO(10002, "密码错误", null);
                }


        }

    }
public ResultVO userRegister(String username, String pwd) {
        // 1.进行用户名验证判断
        User user = userDAO.getUserByName(username);
        // 用户名不存在
        if (user == null) {
            // 向数据库中进行保存
            // 密码使用MD5进行转换
            String password = MD5Utils.md5("password");
            System.out.println("md5加密后的密码"+password);

            user = new User();
            user.setUsername(username);
            user.setPassword(password);
            user.setUserRegtime(new Date());
            user.setUserModtime(new Date());
            // 向数据库中进行插入操作
            int i = userDAO.insertUser(user);

            // 注册成功
            if(i > 0){
                return new ResultVO(10000, "注册成功", null);

            }else {
                // 注册失败
                return new ResultVO(10002, "注册失败", null);
            }

            // 用户名已存在
        } else {
            return new ResultVO(10001, "用户名已存在", null);
        }

解决思路:

1.首先检查返回处的VO对象,检查代码逻辑是否正确。

2.检查数据库的密码中是否有值。

2.检查登录功能前台密码和后台密码的值,看是否一样。

3.密码不一致时, 前端密码检查 getPassword处的参数,确定是否参数错误,以及前端密码是否进行加密后比较。

4.考虑后端插入问题时,直接插入一条数据,两次生成的摘要密码一致时,基本可以确定是向工具类传入的参数有问题,检查想关参数。

问题解决:

 

向工具类中传入的密码写死了,导致每次生成的密码一致。

收获:考虑是向数据库传入密码时的问题时,直接重新注册一条信息,看生成的密码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值