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中的内容。

相关内容

热门资讯

必备教程((来玩德州app))... 必备教程((来玩德州app))外挂透明挂辅助机制(wepoke辅助)一贯真的有挂(解密教程)-百度贴...
玩家必备教程((fishpok... 玩家必备教程((fishpoker))外挂透明挂辅助脚本(智能辅助)果然真的有挂(系统教程)-百度1...
推荐一款((aaPOKER))... 推荐一款((aaPOKER))外挂透明挂辅助软件(软件辅助挂)果真真的有挂(第三方教程)-抖音1、推...
分享个大家((哈糖大菠萝十三张... 分享个大家((哈糖大菠萝十三张))外挂透明挂辅助安装(透视辅助挂)其实真的有挂(力荐教程)-百度1、...
科技介绍((线上德州))外挂透... 科技介绍((线上德州))外挂透明挂辅助app(智能辅助)一贯真的有挂(普及教程)-头条一、软件透明挂...
揭秘一下((pokerx))外... 揭秘一下((pokerx))外挂透明挂辅助软件(软件辅助挂)好像真的有挂(解说技巧)-头条1、打开软...
实测交流((云扑克app))外... 实测交流((云扑克app))外挂透明挂辅助APP(软件辅助挂)都是真的有挂(分享教程)-今日头条1、...
1.9分钟了解((nzt德州)... 1.9分钟了解((nzt德州))外挂透明挂辅助器(智能ai代打)果然真的有挂(靠谱教程)-百度贴吧1...
一分钟快速了解((AAPOKE... 一分钟快速了解((AAPOKEr))外挂透明挂辅助安装(黑科技辅助)果真真的有挂(透明教程)-哔哩哔...
一分钟了解((wpK))外挂透... 一分钟了解((wpK))外挂透明挂辅助机制(智能辅助)一贯真的有挂(大神讲解)-知乎;1、实时开挂更...