Session.timeout
通常用于設置用戶會話的超時時間,當用戶在一定時間內沒有任何操作時,會話會自動失效。在異常處理中,Session.timeout
可以用于處理因用戶長時間不操作導致的會話失效問題。
以下是在異常處理中應用 Session.timeout
的一些建議:
// 設置會話超時時間為30分鐘(1800000毫秒)
req.session.cookie.maxAge = 1800000;
// 監聽用戶活動事件,重置會話超時時間
document.addEventListener('mousemove', function() {
req.session.cookie.maxAge = 1800000;
});
// 檢查會話是否有效
if (req.session.user === undefined || req.session.user.id === undefined) {
// 會話失效,返回錯誤響應
res.status(401).send('Session timeout, please log in again.');
} else {
// 會話有效,繼續處理請求
}
// 異常處理中間件
app.use(function(err, req, res, next) {
// 添加錯誤信息,提示用戶會話已失效
err.message = 'Session timeout, please log in again.';
res.status(401).send(err.message);
});
通過以上方法,可以在異常處理中有效地應用 Session.timeout
,確保用戶在長時間不操作后需要重新登錄。