简单使用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
这时候登录的时候就可以得到用户的信息了
上一篇: Mysql读写分离过期常用解决方案
下一篇: 一致性Hash在缓存中的使用