欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单使用session、cookie

程序员文章站 2022-03-14 22:53:27
...

记录小白第一次简单使用session和cookie
用express框架搭建了一个简单的服务器,使用npm下载了express-session
然后配置:

const session = require("express-session");
app.use(session({
   secret:"128位字符串",    //#安全字符串
   resave:true,            //#每次请求保存数据 
   saveUninitialized:true  //#保存初始化数据
}));
//登录路由
router.post("/login",(req,res)=>{
    var uname=req.body.uname;
    var phone=req.body.phone;
    var upwd=req.body.upwd;
    var sql="SELECT uid FROM user WHERE uname=? && phone=? && upwd=?"
    pool.query(sql,[uname,phone,upwd],(err,result)=>{
        if(err) throw err;
        if(result.length>0){
            var id=result[0].uid;
            req.session.uid=id;//往session里面存储值
            res.send({code:1,msg:"登录成功"})
        }else{
            res.send({code:-1,msg:"登录失败"})
        }
    })
})
//用户信息路由
router.get("/userMsg",(req,res)=>{
    var uid=req.session.uid
    if(!uid){
        res.send({code:-1,msg:"您还未登录"})
        return;
    }
    var sql="SELECT * FROM user WHERE uid=?"
    pool.query(sql,[uid],(err,result)=>{
        if(err) throw err;
        console.log(result)
        res.send(result);
    })
})

前端使用vue框架,在发送axios的时候携带cookie即可,在main文件配置

//配置请求时保存session信息,允许跨域请求携带cookie发送请求
axios.default.withCredentials = true

这时候登录的时候就可以得到用户的信息了