NodeJs session 使用
以登录为例
基本实现原理:客户端通过账号密码登录服务器接收请求参数,生成sessionId 将sessionId存储到客户端的cookie中下一次客户端请求的时候带上cookie ,服务器获取cookie中的sessionId验证身份响应验证通过的客户端,也就是登录成功的用户使用方法:node.js中需要借助express-session实现session功能。使用 npm instsall express-session下载。导入express-session模块 const session = require('express-session');配置sessionapp.use(session({secret: 'secret key', //使用随机自定义字符串进行加密saveUninitialized: false,//不保存未初始化的cookie,也就是未登录的cookiecookie: { maxAge: 24 * 60 * 60 * 1000 //设置cookie的过期时间为1天 activeDuration: 5* 60*1000, // 激活时间,比如设置为30分钟,那么只要30分钟内用户有服务器的交互,那么就会被重新激活。}}))
4.在用户登录的时候保存用户的信息
app.post('/login', async (req,res) => { const { email, password } = req.body; let user = await User.findOne({ email: email }); if (user.password == password){ req.session.user = user;//登录成功将用户信息存储到session下面 res.redirect('/home/'); }else{ res.render('login.art',{error:'账号或者密码错误'}) }})
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。