springboot+jwt连接数据库进行验证

107 阅读1分钟

参考springboot+jwt进行验证里面就修改了一些代码

application.yml文件
进行了连接数据库的操作
在这里插入图片描述

entity层(数据层)
进行了和数据库关联操作,外加提供了一个无参的方法
在这里插入图片描述

controller层
引入service,增加了一个跳转html页面的方法,还有登录页面接收数值的方式
在这里插入图片描述
拦截器配置
对user不进行拦截,不需要验证即可访问
在这里插入图片描述
HTML页面
进行登录验证,ajax后台跳转的操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Title</title>
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<!--  method="get"  action="/login"-->
<form id="form" align="center">
    <p>登录</p>
    <!--autocomplete="off" 清除input框历史记录-->
    username:<input name="username" placeholder="账户" type="text"><br/>
    password:<input name="password" placeholder="密码" type="text"><br/>
    <input type="button" id="tj" value="提交">
    <input type="button" value="重置">
</form>
</body>
<script type="text/javascript">
    $("#tj").click(function () {
        // alert($("#form").serialize())
        $.ajax({
            url: '/login',
            type:'GET',
            data:$("#form").serialize(),
            dataType: 'json',
            async: 'true',
            success:function (data) {
                var token = data.token;
                // alert(token)
                // alert(JSON.stringify(data));
                $.ajax({
                    url: '/getList',
                    type:'GET',
                    headers: {token:token},
                    dataType: 'json',
                    success:function (data) {
                        var list = data;
                        document.write(JSON.stringify(list))
                        // alert(JSON.stringify(list))
                    }
                })
            },
            error:function (XMLHttpRequest, textStatus, errorThrown) {
            }
        })
    })

    // alert("111");

</script>
</html>

dao层
写入一个继承JpaRepository,因为之前的写入了方法,不能继承JpaRepository在这里插入图片描述
SysUserServiceImpl层

package com.jwt.demo.service.serviceImpl;

import com.alibaba.fastjson.JSON;
import com.jwt.demo.dao.SysUserDao;
import com.jwt.demo.dao.SysUserDao1;
import com.jwt.demo.entity.SysUser;
import com.jwt.demo.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

@Service
public class SysUserServiceImpl implements SysUserService {
    @Resource
    SysUserDao1 sysUserDao1;
    @Override
    public boolean login(SysUser user) {
        String username = user.getUsername();
        String password = user.getPassword();
//        System.out.println("111111111111111111111111");
        List<SysUser> list = sysUserDao1.findAll();
//        System.out.println(JSON.toJSON(list));
        //iterator迭代器
        Iterator<SysUser> iterable = list.iterator();//实例化
//        List<SysUser> map = new ArrayList();
//        while (iterable.hasNext()){
//            map.add(iterable.next());
//            System.out.println(JSON.toJSON(iterable.next()));
//        }
        //
        SysUser[] map1 = new SysUser[list.size()];//定义集合存储数据
        for (int i=0;i<list.size();i++){
            map1[i]=iterable.next();//存储的数据
            //调用数据库进行验证
            if (username.equals(map1[i].getUsername()) && password.equals(map1[i].getPassword())){//验证
                return true;
            }
        }

//        System.out.println(JSON.toJSON(map1.length));
//        System.out.println(JSON.toJSON(map1[0].getUsername()+map1[0].getPassword()));
//        System.out.println(JSON.toJSON(map1[1]));

//        System.out.println(JSON.toJSON(list.toArray()));
//        System.out.println(list.size());//数组长度

//        System.out.println("111111111111111111111111");
//        if(username.equals("admin") && password.equals("123456")){
//            return true;
//        }
        return false;
    }

    @Override
    public List<SysUser> getList() {
        List<SysUser> list = sysUserDao1.findAll();//调用方法查询全部
        Iterator<SysUser> iterable = list.iterator();//实例化
        SysUser[] map1 = new SysUser[list.size()];//定义集合存储数据
        List<SysUser> map = new ArrayList();
        for (int i=0;i<list.size();i++){
            map1[i]=iterable.next();//存储的数据
            map.add(map1[i]);
        }
        return map;
//        SysUser user1 = new SysUser("admin1", "123456");
//        SysUser user2 = new SysUser("admin2", "123456");
//        SysUser user3 = new SysUser("admin3", "123456");
//        List<SysUser> list = new ArrayList<>();
//        list.add(user1);
//        list.add(user2);
//        list.add(user3);
//        return list;
    }
}

在这里插入图片描述

在这里插入图片描述
数据库
登录使用哪个都可以
在这里插入图片描述
网页访问
在这里插入图片描述