SpringBoot实战项目(十四)--登录功能之登录表单验证
2021-02-03 01:17
标签:md5 encrypt word success attr 对比 存在 spring 超时 首先控制器--LoginController
启动测试---
SpringBoot实战项目(十四)--登录功能之登录表单验证 标签:md5 encrypt word success attr 对比 存在 spring 超时 原文地址:https://www.cnblogs.com/wx60079/p/12805568.html 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实战项目(十四)--登录功能之登录表单验证
文章链接:http://soscw.com/index.php/essay/50199.html