码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot实战项目(十四)--登录功能之登录表单验证

时间:2020-04-29 23:53:53      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:md5   encrypt   word   success   attr   对比   存在   spring   超时   

首先控制器--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实战项目(十四)--登录功能之登录表单验证

标签:md5   encrypt   word   success   attr   对比   存在   spring   超时   

原文地址:https://www.cnblogs.com/wx60079/p/12805568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!