我对Nodejs中的会话处理有一个基本的问题,如果有人可以给出提示,那就太棒了!
在我的情况下,我正在构建一个节点应用程序,在我的计划中我希望有两个会话。一个会话由passportjs用于识别用户,具有自己的过期日期和maxAge,另一个会话用于用户的另一个活动
我也使用connect-mongo来保存数据库中的会话。
我如何告诉护照我应该使用哪个会话?基于我所看到的,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());

答案 0 :(得分:0)
你可能可以使用这两行代码访问它们
req.session1
req.session2