express中session的基本使用

本文详细介绍了如何在Node.js中使用express-session模块进行会话管理,包括配置、设置及销毁session的过程,并演示了如何将session数据存储到MongoDB数据库中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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设置的图:
1215590-20181121121204508-434841030.png

1215590-20181121121218555-220668462.png

转载于:https://www.cnblogs.com/vientiane/p/9994260.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值