登录图片验证时Session取出时值为null

登录验证时Session验证时取出时值为null

原因

我们在图片验证的时候,当我们生成验证码图片的同时我们将验证码的信息存入session中,当我们点击登录后,将传入后端的session取出,同时与前端输入的验证码信息进行比对,但是每次点击登录的时候,都是登录失败我们断点发现我们从session中获取的验证码为null。这是由于我们用到了谷歌浏览器的问题,由于谷歌浏览器的安全级别较高,我们跨域的时候,不会携带cookie,所以我们取出session的时候,取出来就位null了,即我们每次取出为null,就登录不上去。我们换个浏览器即可。

//获取登录验证需要的参数
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String imageCode = req.getParameter("imageCode");
        System.out.println("=="+imageCode);

        //判断验证码是否正确
        //取session中的验证
        HttpSession session = req.getSession();
        String verCode = (String) session.getAttribute("verCode");
        System.out.println("22"+verCode);
        if(imageCode.equalsIgnoreCase(verCode)){
    
    
            //验证码通过
            //调用底层的验证方法
            User user = us.findByUsernameAndPassword(username, password);
            if(user!=null){
    
    
                //判断用户身份
                if(user.getStatus()==1&&user.getRole()==1){
    
    
                    //登录成功
                    vo = new ResultVo(200,"登录成功",user);
                }else{
    
    
                    vo = new ResultVo(500,"该用户权限出错",null);
                }
            }else{
    
    
                vo = new ResultVo(500,"账号或密码有误",null);
            }
        }else{
    
    
            vo = new ResultVo(500,"验证码输入有误",null);
        }

猜你喜欢

转载自blog.csdn.net/qq_51753851/article/details/129333054