基於一個條件,我需要銷燬用戶的當前會話,並將他重定向到一個帶有消息的登錄頁面。我用flash
有一個只顯示一次的消息。在任何地方,除了這裏,我的應用程序都能正常工作,因爲這裏我使用req.session.destroy()
之後的req.flash
。req.flash()不工作後req.session.destroy()
我該如何做到這一點?我曾嘗試在req.session.destroy()
之前放置req.flash()
,但這不起作用,因爲req.session.destroy()
會清除我們剛剛存儲該Flash消息的會話。謝謝。
if(req.session.adminUser.blocked){
req.logout();
req.session.destroy(()=>{
req.flash("flashMessage", "You are blocked, Please contact admin");
req.session.save(function(){
res.redirect("/admin-panel/login");
return false;
});//session.save()
});
}
有了這段代碼,我得到這個錯誤 - Error: req.flash() requires sessions
。如果我在session.destroy
聲明之前移動flash語句,那麼我不會收到任何錯誤,但是不會顯示消息。
非常感謝。你的兩個選擇對我來說看起來相當不錯。 :) –