2017-06-28 48 views
0

我有這樣的中間件:服務器重啓後會話不會被銷燬?

app.get('/login', (req, res) => { 
    if(req.session.user === undefined){ 
     res.render('user/login'); 
    }else{ 
      res.redirect('index'); 
    } 
}); 

它會檢查是否有用戶登錄或沒有,如果沒有的話重定向到登錄頁面。 但是,這裏的問題是當我更改我的代碼,然後nodemon會自動重新啓動服務器,但是當我輸入任何URL(http://localhost:8080/login)時,沒有任何事情發生。

正如我的猜測,我認爲更改代碼後會話不會被破壞。

所以,問題是如何在更改代碼後銷燬會話?或者,也許我不明白expressjs中的會話是如何工作的?

我使用express-session

回答

0

這一切都取決於你如何實際發起會話以及是否在內存中或通過一些數據庫等支持你並沒有包括任何相關的代碼的實際設置你的會議,所以不可能告訴你任何比這更詳細的內容。您的會話可以在內存中,在這種情況下,它們不會在進程重新啓動之間持續存在。它們可以由文件系統或數據庫支持,在這種情況下,它將在進程重啓之間持續存在。它們可以完全存儲在客戶端的cookie或本地存儲中,在這種情況下,它也將在進程重啓之間持續存在。如果您使用任何會話密鑰,那麼您可以通過更改該祕密來使客戶端會話無效 - 例如追加版本號等。