版权声明:非经本人同意,请勿转载。 https://blog.csdn.net/QQ_Empire/article/details/81531503
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了,一般用来存储用户名。
下面是在express脚手架安装使用session
一、添加session
1.安装命令:
npm install express-session -g
npm install express-session -D
2.在app.js文件引入var session = require("express-session")
3.在app.js文件,路由之前添加以下配置代码
app.use(session({
secret: 'recommend 128 bytes random string',
cookie: { maxAge: 20 * 60 * 1000 },
resave: true,
saveUnintialized: true
}))
4.在user.js文件里,在res.send()前,
添加代码:req.session.name=data[0].name
(注意:data[0].name为数据库的键值对)
if(data.length>0){
req.session.name=data[0].name
res.send("已存在")
database.close()
}
5.在index.js文件内,在所要渲染的路由内(例如)
router.get('/', function(req, res, next) {
res.render('index', {name:req.session.name});//name接收数据库用户名
});
6.在你所渲染的页面内所需的地方添加<%- name%>即可渲染登录的用户名
二、销毁session
1、在所要销毁的标签添加<a href="/destroy">退出登录</a>
2、在index.js页面添加对应的路由(例如)
//销毁session
router.get('/destroy', function(req, res, next) {
req.session.destroy(function(err){
if(err){
console.log(err)
}else{
res.redirect("/regist")//销毁后的页面跳转
}
})
});