express中session的基本使用
Posted vientiane
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express中session的基本使用相关的知识,希望对你有一定的参考价值。
1、首先安装express-session模块 npm install express-session --save
2、引入express-session,以及设置中间键
var session = require(‘express-session‘);
app.use(session ({
secret:‘Keyboard cat‘,
resave:false,
saveUninitialized: true,
cookie: {secure:false,maxAge:5000}, /*第一个参数:只有在https才可以访问cookie;第二个参数:设置cookie的过期时间*/
rolling:true/*只要页面在操作就不会过期,无操作5秒后过期*/
}))
app.get(‘/login‘,function (req,res) {
req.session .userinfo="zhangsan111"; /*设置session*/
res.send("node");
})
app.get(‘/‘,function (req,res) {
if (req.session .userinfo){
res.send("node"+req.session .userinfo);
}else{
res.send("未登录");
}
})
3、销毁session的两种方法:
01、改变cookie的过期时间
app.get(‘/logOut‘,function(req,res){
req.session.cookie.maxAge = 0;
res.send("退出成功");
})
02、销毁session
req.session.destroy(function (err) {
console.log(err);
})
4、将session存入mongo数据库的方法
需要 安装connect-mongo
var session = require(‘express-session‘);
var MongoStore = require(‘connect-mongo‘)(session);
app.use(session({
secret:‘Keyboard cat‘,
resave:false,
saveUninitialized: true,
cookie: {secure:false,maxAge:500000}, /*只有在https才可以访问cookie*/
rolling:true,/*只要页面在操作就不会过期,无操作5秒后过期*/
store: new MongoStore({
url: ‘mongodb://127.0.0.1:27017/test‘,
touchAfter: 24 * 3600 // See below for details
})
}));
贴两张session设置的图:
以上是关于express中session的基本使用的主要内容,如果未能解决你的问题,请参考以下文章
EXPRESS 4.x 以上使用session和cookie 的记录
在 express-ws 应用程序和打字稿中使用 Sessions
使用 Passport.js、express-session 和 express-mysql-session 进行用户身份验证