【问题标题】:NodeJS multiple session use in different appNodeJS 多会话在不同应用程序中的使用
【发布时间】:2018-03-22 11:11:33
【问题描述】:

我有一个关于 Nodejs 中的会话处理的基本问题,如果有人能给出提示,那就太好了!

就我而言,我正在构建一个节点应用程序,在我的计划中我希望有两个会话。一个会话由 passportjs 用于识别具有自己的过期日期和 maxAge 的用户,另一个用于用户的另一项活动

我也在使用 connect-mongo 将会话保存在数据库中。

我如何告诉passportjs 我应该使用哪个会话?根据我所看到的,passportjs 使用了我定义的第一个会话。如何告诉passportjs在下面的代码中使用session2?

var express=require('express');
const path=require('path');
var bodyParser=require('body-parser');
var session1=require('express-session'); 
var session2=require('express-session');
var mongoose=require('mongoose');
var passport=require('passport');
var mongoSession1=require('connect-mongo')(session1);
var mongoSession2=require('connect-mongo')(session2);
mongoose.connect('mongodb://xxxx',{useMongoClient: true});
app.use(session1({
  secret:'test1',
  resave:false,
  saveUninitialized:false,
  store:new mongoSession1({
    mongooseConnection:mongoose.connection,
    ttl:24*60*60  //1 day in db
  }),
  cookie:{maxAge:24*60*60*1000}  // 1 day expire
}));
app.use(session2({
  secret:'test2',
  resave:false,
  saveUninitialized:false,
  store:new mongoSession1({
    mongooseConnection:mongoose.connection,
    ttl:60*60  //1 hour
  }),
  cookie:{maxAge:60*60*1000}  // 1 hour
}));

app.use(passport.initialize());
app.use(passport.session());

【问题讨论】:

标签: node.js session passport.js


【解决方案1】:

您可能可以使用这两行代码访问它们

req.session1
req.session2

【讨论】:

    猜你喜欢
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    相关资源
    最近更新 更多