我正在使用express.session和connect-mongo作为我的DataStore. 我面临的是……在我的服务器中,我有20个不同的app.get()调用.但并非所有人都需要检查会话. 但是,如果我在服务器的开头执行此操作:
我面临的是……在我的服务器中,我有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我找到了解决方案. 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