SpringBoot实现登录验证操作(一)

Spring的学习笔记还写差AOP(面向切面编程)的内容,因为最近忙着学习写后台接口的内容,就先搁置一下。既然学习和操作了,那不记录起来也就少了一份收获。此次用的是SpringBoot来做后台接口的开发。接下来记录登录接口和页面的代码实现。

一、前端页面的编写

这里实现了一个最简单的页面,表单包括的两个输入框、一个登录按钮用于输入用户名和密码。
(代码和实现效果图)效果
然后是前端js的代码实现,思路是获取到两个输入框的值(这里只做了简单的判断,输入值是否为空,可根据需要增加认证条件),然后调用后台接口把值传过去,后台做认证操作。

$("#login").click(function () {
        // alert("hello");
        var username =document.getElementById('username').value;
        // alert(username.id)
        if(null == username || "" === username) {
            alert("请输入用户名");
            return;
        }
        var password =document.getElementById('password').value;
        if(null == password || "" === password) {
            alert("请输入密码");
            return;
        }
        //调用登录接口
        $.ajax({
            url : "http://localhost:8080/userLoginTest",
            type : "POST",
            data : {
                "username":username,
                "password":password
            },
            dataType : "json",//后台返回来的数据类型
            //contentType: "application/json;charset=UTF-8",
            success : function(data) {
                //后台返回数据
                if (data.status === 'ok') {
                    alert(data.message);
                    window.location.href = "/index";
                }
                else {
                    alert("用户名或密码错误,请仔细检查~~");    //登录失败
                }
            },
            error:function (data) {
                alert("用户名或密码错误!" + data.message)
            }
        });
    });

二、后台接口的实现

这里就贴一下简单验证的接口实现代码吧,Mapper和Sevice的方法就不贴上来了, 就是简单的在数据库中查询有没有相应用户。

@PostMapping("/userLoginTest")
    @ResponseBody
    public String userLoginTest(HttpServletRequest request, HttpSession session, @RequestParam Map<String, String> parameter) {
        // 获取前端传来的username字段,必须与输入框的id值相同
        String username = request.getParameter("username");
        // 获取前端传来的password字段,必须与输入框的id值相同
        String password = request.getParameter("password");

        // 这里可以做个控制台输出获取的字段值
        System.out.println("用户名:" + username + " " + "密码:" + password);
        UserInfo userInfo;
        try {
            // 执行自定义的Mapper类中的查询方法
            userInfo = userService.getUser(username, password);

            // 后台做简单判断,是否获取相应用户
            if (userInfo != null) {
                // 把当前用户信息存到session里,用于后续操作
                session.setAttribute("userInfo", userInfo);
                // 返回给前端的数据设置(登录成功)
                parameter.put("message", "登录成功");
                parameter.put("status", "ok");
            }
        } catch (Exception e) {
            // 返回给前端的数据设置(登录失败)
            parameter.put("message", "登录失败,用户不存在");
            parameter.put("status", "no");
        }
        return JSON.toJSONString(parameter);
    }

三、成功效果


以上就是简单的springboot写的登录操作接口实现和前端代码实现,这里的认证有点太简单,而且需要自己写认证的操作,下一篇会记录SpringBoot整合Shiro来实现登录认证和页面拦截功能(即没登录成功就不能进入index首页等)。

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值