• 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里调用它就行

  • 相关阅读:
    阿里云ECS安全组之新手不得不面对的问题
    【云栖风向标】VOL.3:阿里云:对不起_这个官司我不服!
    Linux全自动安装wdcp面板脚本
    “程序员”和“码农”究竟有什么区别?
    安卓新标准出台_告别乱弹窗_你的手机真会省电么?
    16年程序员平均工资122478元_你拖后腿了没?
    6.5世界环境日!来聊聊那些你想不到的环保黑科技?
    小扎曝Facebook北极数据中心图片_最先进数据中心都建在哪?
    js之单例模式
    js 之 call 、 apply
  • 原文地址:https://www.cnblogs.com/wx60079/p/12805568.html
Copyright © 2020-2023  润新知