這篇文章主要給你們介紹了
node.js
中間件express-session
使用的相關資料,文中介紹的很是詳細,對你們具備必定的參考學習價值,須要的朋友們下面來一塊兒看看吧。前端
本文介紹的關於node.js
中間件express-session
的相關內容,分享出來供你們從參考學習,下面來一塊兒看看詳細的介紹:node
session
?session
運行在服務器端,當客戶端第一次訪問服務器時,能夠將客戶的登陸信息保存。
當客戶訪問其餘頁面時,能夠判斷客戶的登陸狀態,作出提示,至關於登陸攔截。
session能夠和Redis或者數據庫等結合作持久化操做,當服務器掛掉時也不會致使某些客戶信息(購物車)丟失。數據庫
session
的工做流程:當瀏覽器訪問服務器併發送第一次請求時,服務器端會建立一個session
對象,生成一個相似於key,value
的鍵值對, 而後將key(cookie)返回到瀏覽器(客戶)端,瀏覽器下次再訪問時,攜帶key(cookie)
,找到對應的session(value) 。 客戶的信息都保存在session
中。express
express-session
的經常使用參數:secret
:一個String
類型的字符串,做爲服務器端生成session
的簽名。 name
:返回客戶端的key的名稱,默認爲connect.sid
,也能夠本身設置。 resave
:(是否容許)當客戶端並行發送多個請求時,其中一個請求在另外一個請求結束時對session
進行修改覆蓋並保存。
默認爲true
。可是(後續版本)有可能默認失效,因此最好手動添加。saveUninitialized
:初始化session時是否保存到存儲。默認爲true
, 可是(後續版本)有可能默認失效,因此最好手動添加。cookie
:設置返回到前端key的屬性,默認值爲{ path: ‘/', httpOnly: true, secure: false, maxAge: null }
。瀏覽器
express-session
的一些方法:服務器
Session.destroy()
:刪除session
,當檢測到客戶端關閉時調用。cookie
Session.reload()
:當session
有修改時,刷新session
。session
Session.regenerate()
:將已有session
初始化。併發
Session.save()
:保存session
。app
//app.js中添加以下代碼(已有的不用添加) var express = require('express'); var cookieParser = require('cookie-parser'); var session = require('express-session'); app.use(cookieParser('sessiontest')); app.use(session({ secret: 'sessiontest',//與cookieParser中的一致 resave: true, saveUninitialized:true }));
//修改router/index.js,第一次請求時咱們保存一條用戶信息。 router.get('/', function(req, res, next) { var user={ name:"Chen-xy", age:"22", address:"bj" } req.session.user=user; res.render('index', { title: 'the test for nodejs session' , name:'sessiontest' }); });
//修改router/users.js,判斷用戶是否登錄。 router.get('/', function(req, res, next) { if(req.session.user){ var user=req.session.user; var name=user.name; res.send('你好'+name+',歡迎來到個人家園。'); }else{ res.send('你尚未登陸,先登陸下再試試!'); } });
總結
好了,以上就是這篇文章的所有內容了,但願本文的內容對你們的學習或者工做能帶來必定的幫助,若是有疑問你們能夠留言交流,謝謝你們對腳本之家的支持。
原文連接:http://blog.csdn.net/u0126795...