SpringBoot实战项目(十四)--登录功能之登录表单验证
Posted 北林日记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot实战项目(十四)--登录功能之登录表单验证相关的知识,希望对你有一定的参考价值。
首先控制器--LoginController
1 /** 2 * 登录表单提交处理控制器 3 * @param user 4 * @param cpacha 5 * @param request 6 * @return 7 */ 8 @PostMapping("/login") 9 @ResponseBody 10 public Results login(SysUser user, String cpacha, HttpServletRequest request){ 11 //判断当前会话是否超时 12 Object loginCpacha = request.getSession().getAttribute("loginCpacha"); 13 if (loginCpacha == null){ 14 return Results.failure(ResponseCode.LOGIN_ERROR.getCode(),ResponseCode.LOGIN_ERROR.getMessage()); 15 } 16 //判断验证码是否正确 17 if (!cpacha.toUpperCase().equals(loginCpacha.toString().toUpperCase())){ 18 return Results.failure(ResponseCode.LOGIN_CPACHA.getCode(),ResponseCode.LOGIN_CPACHA.getMessage()); 19 } 20 //根据表单提交的用户名查询是否存在该用户 21 SysUser findUser = userService.findByUserByUserName(user.getUserName()); 22 //判断用户名是否存在 23 if (findUser == null){ 24 return Results.failure(ResponseCode.USERNAME_NULL.getCode(),ResponseCode.USERNAME_NULL.getMessage()); 25 } 26 //判断密码是否正确(数据库密码全部MD5加密,需要加密后才能与数据库进行对比) 27 user.setPassWord(Md5Cipher.encryptWithSalt(user.getPassWord())); 28 if (!user.getPassWord().equals(findUser.getPassWord())){ 29 return Results.failure(ResponseCode.PASSWORD_ERROR.getCode(),ResponseCode.PASSWORD_ERROR.getMessage()); 30 } 31 //用户信息放到Session中 32 request.getSession().setAttribute("user",findUser); 33 return Results.success(); 34 }
Results---封装结果集,以便返回前端 ResponseCode---公共的请求信息(不懂往回翻实战项目(二))
UserService
UserServiceImpl
UserDao
UserMapper.xml
启动测试---
右上角有显示出当前登录用户的用户名,在登录验证通过之后,把当前登录的用户信息存入session(session个人简单理解就是相当于一个全局变量,只要session不失效,就能调用它)
然后在主页Index.html里调用它就行
以上是关于SpringBoot实战项目(十四)--登录功能之登录表单验证的主要内容,如果未能解决你的问题,请参考以下文章
项目实战 ---- 简单整合SpringBoot + MyBatis + Themyleaf小项目