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学习—— cookie和session

在 express-ws 应用程序和打字稿中使用 Sessions

redis存储session配制方法

express session store

使用 Passport.js、express-session 和 express-mysql-session 进行用户身份验证