切换主题
十四、在Express中使用Session认证
1、安装express-session中间件
bash
npm install express-session2、配置express-serssion中间件
js
//1、导入session中间件
const session=require('express-session')
//2、配置Session中间件
app.use(session({
secret:"keyboard cat", //secret属性的值可以为任意字符串
resave:false, //固定写法
saveUninitalized:true //固定写法
}))3、向session中存数据
当express-session中间件配置成功后,即可通过req.session访问和使用session对象,从而存储用户的关键信息
js
app.post('/api/login',(req,res)=>{
if(req.body.username!=='admin'||req.body.password!=='000000'){
return res.send({
status:1,
msg:'登录失败'
})
}
req.session.user=req.body //将用户的信息,存储到Session
req.session.isLogin=true //将用户的登录状态存储到Session
res.send({
status:0,
msg:'登录成功'
})
})4、从session中取数据
js
//获取用户名信息
app.get('/api/username',(req,res)=>{
if(!req.session.isLogin){
return res.send({
status:1,
msg:'fail'
})
}
res.send({
status:0,
msg:'登录成功',
username:req.session.user.username
})
})5、清空session
调用req.session.destory()函数,即可清空服务器保存的session信息
js
//退出登录的接口
app.post('/api/logout',(req,res)=>{
//清空当前客户端对应的session信息
req.session.destroy()
res.send({
status:0,
msg:'退出登录成功'
})
})
DQ博客