簡體   English   中英

如何在Node.js中管理會話

[英]How to manage session in Node.js

我正在使用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 

我找到了解決方案。 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM