您好,登錄后才能下訂單哦!
這篇文章主要講解了“Node.js刷新session過期問題怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Node.js刷新session過期問題怎么解決”吧!
在Node.js中,我們通常使用express-session這個包來使用和管理session,保存服務端和客戶端瀏覽器之間的會話狀態。那如何才能實現當用戶刷新當前頁面或者點擊頁面上的按鈕時重新刷新session的過期時間呢?類似于ASP.NET中session會話狀態,只要在一定的時間內頁面一直保持活動狀態,session就不會過期。通過下面的代碼可以實現這個功能,我們在Node.js的代碼中加入下面的中間件:
// use this middleware to reset cookie expiration time
// when user hit page every time
app.use(function(req, res, next){
req.session._garbage = Date();
req.session.touch();
next();
});
這樣,每次當有請求過來時,該中間件都會重新修改session的過期時間,從而達到預期的效果。
然后,在代碼中加入對session的使用:
app.use(session({
secret: 'test',
resave: false,
saveUninitialized: true,
cookie:{
maxAge: 1000*60*60 // default session expiration is set to 1 hour
},
store: new MemcachedStore({
hosts: ['127.0.0.1:9000'],
prefix: 'test_'
})
}));
當然,你也可以使用其它的session存儲方式,例如memoryStore,redis,mongoDB等等,使用方法都大同小異。
感謝各位的閱讀,以上就是“Node.js刷新session過期問題怎么解決”的內容了,經過本文的學習后,相信大家對Node.js刷新session過期問題怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。