public String loginIn(HttpServletRequest request, Model model){ //获取用户名与密码 String username = request.getParameter("username"); String password = request.getParameter("password"); String code=request.getParameter("captcha"); // String type=request.getParameter("type"); //判断验证码是否正确(验证码已经放入session) HttpSession session = request.getSession(); String realCode = (String)session.getAttribute("VerifyCode"); if (!realCode.toLowerCase().equals(code.toLowerCase())){ model.addAttribute("msg","验证码不正确"); return "login"; }else{ //验证码正确则判断用户名和密码 // if(type.equals("1")){//管理员信息 model.addAttribute("msg","12345"); //用户名和密码是否正确 Admin admin=adminService.queryUserByNameAndPassword(username,password); ReaderInfo readerInfo=readerService.queryUserInfoByNameAndPassword(username,password); if(admin!=null){//该用户不存在 session.setAttribute("user",admin); session.setAttribute("type","admin"); } else if (admin==null && readerInfo==null){ model.addAttribute("msg","用户名或密码错误"); return "login"; } else if(readerInfo!=null){ session.setAttribute("user",readerInfo); session.setAttribute("type","reader"); } return "index"; } }
时间: 2024-02-14 16:26:59 浏览: 156
登陆时验证用户名、密码
5星 · 资源好评率100%
这段代码是一个登录功能的代码,接收用户输入的用户名、密码和验证码,然后进行验证。首先,通过HttpServletRequest对象获取到用户名、密码和验证码。然后,从session中获取真实的验证码,并与用户输入的验证码进行比较。如果验证码不正确,返回登录页面并显示错误信息。如果验证码正确,则继续验证用户名和密码。
在验证用户名和密码之前,首先判断用户类型,这里只展示了管理员和读者两种类型。如果用户类型为管理员,则调用adminService的queryUserByNameAndPassword方法来查询管理员信息,如果查询结果不为空,则将用户信息和类型存入session中。如果用户类型为读者,则调用readerService的queryUserInfoByNameAndPassword方法来查询读者信息,同样将查询结果和类型存入session中。
最后,跳转到首页。
需要注意的是,这段代码存在一些安全性和逻辑性问题,例如没有对用户名、密码进行加密处理、没有检查用户名和密码是否为空等。在实际开发中需要进行相应的处理。
阅读全文