Node.js重新整理session過期時間的實現方法
在Node.js中,我們通常使用express-session這個包來使用和管理session,儲存服務端和客戶端瀏覽器之間的會話狀態。
那如何才能實現當使用者重新整理當前頁面或者點選頁面上的按鈕時重新重新整理session的過期時間呢,類似於ASP.NET中session會話狀態,只要在一定的時間內頁面一直保持活動狀態,session就不會過期。通過下面的程式碼可以實現這個功能,我們在Node.js的程式碼中加入下面的中介軟體:
[JavaScript] 純文字檢視 複製程式碼// 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的使用:
[JavaScript] 純文字檢視 複製程式碼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使用了memcached作為session的儲存方式。
當然,你也可以使用其它的session儲存方式,例如memoryStore,redis,mongoDB等等,使用方法都大同小異。
相關文章
- 通過配置檔案來修改WAS控制檯Session過期時間的方法Session
- C#如何設定session過期時間C#Session
- localstorage實現帶過期時間的快取功能快取
- tomcat 設定session過期時間(四種方式)TomcatSession
- 關於 session 未到設定的過期時間就過期的問題(分享坑點)Session
- redis 過期時間Redis
- 委託實現動態時間重新整理
- httpsession過期時間HTTPSession
- Session的過期問題Session
- 分享一個session過期後根據guard跳轉的實現Session
- OkHttp+Retrofit+RxJava 實現過期Token自動重新整理HTTPRxJava
- redis hset hmset過期時間Redis
- 檢視Cookie過期時間Cookie
- redis設定過期時間Redis
- localStorage設定過期時間
- 請求時token過期自動重新整理token
- 檢查頁面Session是否過期,過期執行相應操作 解決方法Session
- JavaScript 設定cookie 過期時間JavaScriptCookie
- RabbitMQ 高階 - 過期時間 TTLMQ
- JavaScript獲取cookie過期時間JavaScriptCookie
- 設定phpsession過期時間PHPSession
- PHP的session,session檔案,及其過期的問題PHPSession
- JS實現重新整理iframe的方法JS
- session超時時間的設定Session
- 通過redis實現session共享RedisSession
- 如何正確的評估redis過期時間Redis
- V$SESSION_LONGOPS超過系統時間SessionGo
- RxJava2 實戰知識梳理(14) 在 token 過期時,重新整理過期 token 並重新發起請求RxJava
- Rails--方法間透過session傳遞引數AISession
- 通過offsets.retention.minutes設定kafkaoffset的過期時間Kafka
- Vue 消除Token過期時重新整理頁面的重複提示Vue
- jwt_token的有效時間和重新整理時間JWT
- 第38期:MySQL 時間類分割槽具體實現MySql
- 請問laraveld的redis中有$redis->expires(key,過期時間)這個方法嗎LaravelRedis
- Session過期,跳出iframe等框架Session框架
- 設定有過期時間的廣告程式碼例項
- 教你修改 Laravel "記住我" Cookie 的過期時間.LaravelCookie
- 【原】兩個時間相加的運算子過載實現