国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

express express-session的使用小結(jié)

2024-05-06 15:27:19
字體:
供稿:網(wǎng)友

簡介

express-session是express中的一個處理session的中間件,可以說是express中最常見的中間件之一了.

由于會話管理依賴cookie的使用,所以它的api中有很多用于控制cookie的部分.

總的來說express-session有如下的特點:

session管理(基本功能) cookie簽名 可替換持久儲存模塊

本文中使用的版本為1.15.6.

安裝

npm install express-session --save

引入&使用

const express = require('express');const app = new express();const expressSession = require('express-session');// 使用express-sessionapp.use(expressSession({  secret:'hello world',// cookie簽名 這個屬性是必須的 具體配置和`cookie-parser`一樣  saveUninitialized:true, // 是否自動初始化 默認(rèn)為true  resave:false,// 當(dāng)用戶session無變化的時候依然自動保存  cookie:{ // cookie的信息具體操作和`cookie-parser`一樣    maxAge:1800000// 30分鐘后過期  },  rolling:true// 每次請求的時候覆寫cookie}))

會話簡介

在express-session文檔中有如下的一句說明:

Note Session data is not saved in the cookie itself, just the session ID. Session data is stored server-side.

Session中包含的數(shù)據(jù)不會保存在cookie中,僅僅是在cookie中保存了一個SessionId而已.實際的session的數(shù)據(jù)保存在服務(wù)端.

簡單理解就是一個Map,鍵對應(yīng)的是session id值保存在cookie中,值對應(yīng)的是用戶保存在服務(wù)端的數(shù)據(jù).

api介紹

參數(shù)

創(chuàng)建express-cookie參數(shù)基本分為兩種.

針對于cookie的設(shè)置 針對于express-session的設(shè)置

cookie設(shè)置一覽:

app.use(expressSession({  secret:'hello world', // cookie 簽名必須有否則會報錯  cookie:{    domain:<參數(shù)>,    expires:<參數(shù)>,    httpOnly:<參數(shù)>,    path:<參數(shù)>,    sameSite:<參數(shù)>,    secure:<參數(shù)>,    maxAge:1800000  }}));

而這些對應(yīng)的參數(shù)就是服務(wù)端對于cookie的寫入?yún)?shù),至于各個參數(shù)是什么意思參考下面的文章:

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie

express-session部分設(shè)置:

app.use(expressSession({  secret:'hello world', // cookie 簽名必須有否則會報錯  genid:function (request) { // 用于替換掉默認(rèn)ID生成的函數(shù) 第一個參數(shù)為reqeust    return '隨機id'  },  name:'connect.sid',// 每次響應(yīng)中向cookie中起始的內(nèi)容,默認(rèn)起始為`connect.sid`,  proxy:true,// 對于cookie使用secure后,在傳遞的過程中相信反向代理服務(wù)器,默認(rèn)為undefined只相信正向代理  resave:true,// 在一次會話中無論是否session被改變都會進(jìn)行強制的儲存  rolling:true,// 在每次會話中的響應(yīng)中都覆寫一次cookie,重置倒計時  saveUninitialized:true,// 將一個新創(chuàng)建還未修改的會話進(jìn)行儲存,默認(rèn)為true  store:object// 一個儲存對象,默認(rèn)使用的是`MemoryStore`這個存儲器  unset:'keep'// 控制沒有設(shè)置`req.session`時候的行為(使用delete刪除或者賦值null),默認(rèn)'keep'會話期間不會保留,'destroy'會話完成后刪除.}));            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 灯塔市| 安阳市| 焦作市| 沙洋县| 连云港市| 广宁县| 江达县| 即墨市| 开阳县| 大邑县| 鹤山市| 资源县| 沈阳市| 辽中县| 红河县| 确山县| 霍邱县| 微山县| 红桥区| 黄浦区| 夹江县| 上高县| 噶尔县| 弥勒县| 黄浦区| 阿尔山市| 福鼎市| 奉化市| 黑山县| 闻喜县| 崇文区| 建湖县| 界首市| 高淳县| 扶风县| 仲巴县| 遵义县| 河南省| 鹤峰县| 莱芜市| 怀远县|