简单使用session、cookie

记录小白第一次简单使用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

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

发布了6 篇原创文章 · 获赞 0 · 访问量 73
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览