API请求每次会新建两个ExpressSessions,但只保留第二个来传递给路由器(使用MongoDB、ExpressSessions、Node和Javascript)。
创始人
2024-09-08 03:30:35
0

可以使用Express中间件来控制Session的创建。以下是一种可能的解决方案:

const express = require('express');
const session = require('express-session');
const MongoStore = require('connect-mongo')(session);

const app = express();

app.use(session({
  secret: 'mysecretkey',
  saveUninitialized: false,
  resave: false,
  store: new MongoStore({
    url: 'mongodb://localhost/myapp',
    ttl: 14 * 24 * 60 * 60 // session will expire after 2 weeks
  })
}));

app.use((req, res, next) => {
  if (!req.session.firstSession) {
    req.session.firstSession = true;
    return next();
  }
  next('route');
});

app.get('/', (req, res) => {
  res.send('This is the second session');
});

app.get('/', (req, res) => {
  res.send('This is the first session');
});

这段代码中,我们在使用Express的Session中间件时指定了一个store选项,用来将Session数据存储到MongoDB中。此外,我们添加了一个自定义中间件,当第一次请求到来时,它会创建一个新的Session,而后续的请求会跳过这个中间件,直接传递第二个Session给路由器。为了演示其效果,我们添加了两个路由处理程序,分别用于显示第一个和第二个Session中的内容。

相关内容

热门资讯

热点推荐!!赣牌圈科技,海盗来... 热点推荐!!赣牌圈科技,海盗来了辅助脚本,第三方教程(今日头条)1、下载安装好赣牌圈科技,进入游戏主...
最新技巧!!微信道游拼十辅助器... 最新技巧!!微信道游拼十辅助器,蜜瓜大厅可以装挂吗,2024教程(有挂细节);无需打开直接搜索加(薇...
让我来分享经验!宝宝吃吃吃游戏... 让我来分享经验!宝宝吃吃吃游戏辅助,兴动互娱辅助器多少钱,系统教程(真是有挂);无需打开直接搜索加薇...
普及知识!多乐小程序破解版修改... 普及知识!多乐小程序破解版修改器,贪吃蛇辅助器,透明挂教程(有挂头条)1、下载安装好多乐小程序破解版...
程序员教你!山城九九辅助,泸州... 您好:泸州大二新手攻略这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
今日科普!丹东约战麻将辅助器,... 今日科普!丹东约战麻将辅助器,多乐辅助器,揭秘教程(有挂规律)1、下载安装好丹东约战麻将辅助器,进入...
重磅来袭!约局吧黑科技辅助器,... 重磅来袭!约局吧黑科技辅助器,途游手游辅助,可靠教程(有挂教学)1、下载安装好约局吧黑科技辅助器,进...
玩家必看分享!嘟咪互动修改器,... 玩家必看分享!嘟咪互动修改器,新超凡软件辅助,透视教程(有挂教程)1、下载安装好嘟咪互动修改器,进入...
教程辅助!好运南通长牌辅助,樱... 教程辅助!好运南通长牌辅助,樱花之盛辅助软件,介绍教程(有挂秘笈);无需打开直接搜索加薇136704...
记者发布!聚财app辅助,宝宝... 记者发布!聚财app辅助,宝宝游戏辅助,必赢教程(有人有挂)1、下载安装好宝宝游戏辅助,进入游戏主界...