登录验证时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);
}