我正在使用express.session,connect-mongo是我的DataStore。
我面临的是......在我的服务器中,我有20个不同的app.get()调用。但并非所有人都需要检查会话。
但是,如果我在服务器的开头执行此操作:
express.createServer( express.session({ ... }));
然后每次调用都会触发express.session,从而将会话设置为mongoDB。
如何限制我只想触发express.session?
e.g. app.get('/getASession') will get a session
app.get('/donotGetSession') will not even trigger express.session
答案 0 :(得分:1)
我找到了解决方案。 express.session作为一个函数返回。所以我可以这样做:
global.mySession = express.session({ secret: session_secret,
store:new MongoStore({
db: session_db_name,
host: session_db_ip,
port: session_db_port
})
});
app.get('/checkSession', mySession, function (req, res) {
res.send("<div>ok</div>");
});
所以,如果我不想使用会话,那么我不会将mySession放在那里。 :)简单。我喜欢节点。 :d