Express系列(六)

session

一李根、什么是session几睛?

session是另一種記錄客戶狀態(tài)的機制房轿,與cookie保存在客戶端瀏覽器不同,session保存在服務器當中所森;當客戶端訪問服務器時囱持,服務器會生成一個session對象焕济,對象中保存的是key:value值,同時服務器會將key傳回給客戶端的cookie當中晴弃;當用戶第二次訪問服務器時掩幢,就會把cookie當中的key傳回到服務器中,最后服務器會吧value值返回給客戶端上鞠。因此上面的key則是全局唯一的標識粒蜈,客戶端和服務端依靠這個全局唯一的標識來訪問會話信息數(shù)據(jù)。

二、設置session

安裝:

npm install express-session --save

引入:

const session=require("express-session");

設置

session(options);

demo:

const express=require("express");
const session=require("express-session");
 
var app=express();
 
//配置中間件
app.use(session({
    secret: "keyboard cat",
     resave: false,
     saveUninitialized: true,
     cookie: ('name', 'value',{maxAge:  90000,secure: false})
}));
 
app.use('/login',function(req,res){
    //設置session
    req.session.userinfo='tom';
    res.send("登陸成功能曾!");
});
 
app.use('/',function(req,res){
    //獲取session
    if(req.session.userinfo){
        res.send("hello "+req.session.userinfo+"肿轨,welcome");
    }else{
        res.send("未登陸");
    }
});
 
app.listen(3000);

session(option)中對session進行設置,它的主要參數(shù)是:

1. name - cookie的名字(原屬性名為 key)椒袍。(默認:’connect.sid’)
2. store - session存儲實例
3. secret - 用它來對session cookie簽名,防止篡改
4. cookie - session cookie設置 (默認:{ path: ‘/‘, httpOnly: true,secure: false, maxAge: null })
5. genid - 生成新session ID的函數(shù) (默認使用uid2庫)
6. rolling - 在每次請求時強行設置cookie驹暑,這將重置cookie過期時間(默認:false)
7. resave - 強制保存session即使它并沒有變化 (默認: true, 建議設為:false)
8. proxy - 當設置了secure cookies(通過”x-forwarded-proto” header )時信任反向代理。當設定為true時京办,
”x-forwarded-proto” header 將被使用。當設定為false時惭婿,所有headers將被忽略。當該屬性沒有被設定時财饥,將使用Express的trust proxy。
9. saveUninitialized - 強制將未初始化的session存儲沾瓦。當新建了一個session且未設定屬性或值時,它就處于未初始化狀態(tài)暴拄。在設定一個cookie前编饺,這對于登陸驗證,減輕服務端存儲壓力透且,權限控制是有幫助的。(默認:true)
10. unset - 控制req.session是否取消(例如通過 delete秽誊,或者將它的值設置為null)。這可以使session保持存儲狀態(tài)但忽略修改或刪除的請求(默認:keep)

三讼溺、session的常用方法

req.session.username="tom"
//獲取session
req.session.username
 
//重新設置cookie的過期時間
req.session.cookie.maxAge=9000000;
//銷毀session
req.session.destroy(function(err){
     
})

demo:退出登陸

const express=require("express");
const session=require("express-session");
 
var app=express();
 
//配置中間件
app.use(session({
    secret: "keyboard cat",
     resave: false,
     saveUninitialized: true,
     cookie: ('name', 'value',{ maxAge:  900000,
                                secure: false,
                                name: "seName",
                                resave: false})
}));
 
app.use('/login',function(req,res){
    //設置session
    req.session.userinfo='tom';
    res.send("登陸成功最易!");
});
 
app.use('/loginOut',function(req,res){
    //注銷session
    req.session.destroy(function(err){
        res.send("退出登錄!"+err);
    });
});
 
app.use('/',function(req,res){
    //獲取session
    if(req.session.userinfo){
        res.send("hello "+req.session.userinfo+"剔猿,welcome to index");
    }else{
        res.send("未登陸");
    }
});
 
app.listen(3000);

如果感覺有幫助留下一個寶貴的贊或者給小編一個贊賞f揖!9榫础鄙早!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市陆爽,隨后出現(xiàn)的幾起案子扳缕,更是在濱河造成了極大的恐慌别威,老刑警劉巖驴剔,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丧失,居然都是意外死亡,警方通過查閱死者的電腦和手機琳拭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門描验,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膘流,你說我怎么就攤上這事「牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵吸奴,是天一觀的道長缠局。 經(jīng)常有香客問我,道長甩鳄,這世上最難降的妖魔是什么额划? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任俊戳,我火速辦了婚禮揖赴,結果婚禮上抑胎,老公的妹妹穿的比我還像新娘。我一直安慰自己铭拧,他們只是感情好赃蛛,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布呕臂。 她就那樣靜靜地躺著,像睡著了一般歧蒋。 火紅的嫁衣襯著肌膚如雪州既。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天吴叶,我揣著相機與錄音,去河邊找鬼敌呈。 笑死造寝,一個胖子當著我的面吹牛磕洪,可吹牛的內容都是我干的诫龙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼谷异,長吁一口氣:“原來是場噩夢啊……” “哼锦聊!你這毒婦竟也來了?” 一聲冷哼從身側響起孔庭,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怎抛,沒想到半個月后芽淡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體马绝,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡富稻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了唉窃。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡苟跪,死狀恐怖蔓涧,靈堂內的尸體忽然破棺而出件已,到底是詐尸還是另有隱情元暴,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布鉴未,位于F島的核電站鸠姨,受9級特大地震影響,放射性物質發(fā)生泄漏讶迁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一啸驯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罚斗,春花似錦、人聲如沸惰聂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至处铛,卻和暖如春拐揭,著一層夾襖步出監(jiān)牢的瞬間奕塑,已是汗流浹背堂污。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工龄砰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盟猖,地道東北人换棚。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像娘汞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子你弦,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容

  • 作者:晚晴幽草軒www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饑人谷_Dylan閱讀 1,225評論 0 51
  • 背景在HTTP協(xié)議的定義中禽作,采用了一種機制來記錄客戶端和服務器端交互的信息缤弦,這種機制被稱為cookie领迈,cooki...
    時芥藍閱讀 2,366評論 1 17
  • 我是個看起來像個開心的孤獨者碍沐。我再一次確認了自己,我只適合流浪累提,漂泊既是對我最好的放逐。我甚至可以不被需要斋陪,不被認...
    一切還好_6227閱讀 100評論 0 0
  • 我從來不敢安靜下來无虚, 尤其在關了燈的夜里缔赠, 怕有關你的記憶再次折磨我友题, 我也不敢翻看以前的舊照片, 我怕度宦, 怕你的...
    青絲化筆Hnterly閱讀 200評論 0 1
  • 《落葉也是一道風景》 文/不會拉磨的牛 又是一年冬來到告匠,落葉飄零隨風翩离唬。自己散步在公園里,一大片銀杏樹下鋪滿了金燦...
    不會拉磨的牛閱讀 869評論 0 3