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设置的图:

原文地址:https://www.cnblogs.com/vientiane/p/9994260.html