express-session中間件將會話數據存儲在服務器上;它僅將會話標識(而非會話數據)保存在 cookie 中。從1.5.0版本開始, express-session再也不依賴cookie-parser,直接經過req/res讀取/寫入;默認存儲位置內存存儲(服務器端),express
安裝: npm
npm install express-session服務器 |
主要方法 : session(options)cookie
經過option來設置session存儲,除了session ID外,session中的任何數據都不存儲在cookie中。session
options可選參數:函數
1. name - cookie的名字(原屬性名爲 key)。(默認:’connect.sid’)ui 2. store - session存儲實例spa 3. secret - 用它來對session cookie簽名,防止篡改代理 4. cookie - session cookie設置 (默認:{ path: ‘/‘, httpOnly: true,secure: false, maxAge: null })code 5. genid - 生成新session ID的函數 (默認使用uid2庫) 6. rolling - 在每次請求時強行設置cookie,這將重置cookie過時時間(默認:false) 7. resave - 強制保存session即便它並無變化 (默認: true) 8. proxy - 當設置了secure cookies(經過」x-forwarded-proto」 header )時信任反向代理。當設定爲true時, 」x-forwarded-proto」 header 將被使用。當設定爲false時,全部headers將被忽略。當該屬性沒有被設定時,將使用Express的trust proxy。 9. saveUninitialized - 強制將未初始化的session存儲。當新建了一個session且未設定屬性或值時,它就處於 未初始化狀態。在設定一個cookie前,這對於登錄驗證,減輕服務端存儲壓力,權限控制是有幫助的。(默認:true) 10. unset - 控制req.session是否取消(例如經過 delete,或者將它的值設置爲null)。這能夠使session保持存儲 狀態但忽略修改或刪除的請求(默認:keep) |