nodejs 的 session 簡單使用
session的本質(zhì)使用cookie來實現(xiàn)。
原理大概是:http 帶來服務(wù)端提前設(shè)置 cookie,服務(wù)端拿到標(biāo)示用戶身份的cookie, 再去固定地點(數(shù)據(jù)庫,文件)檢索出對應(yīng)的用戶身份。把身份賦值給本次請求的request,在程序處理中就知曉了用戶的身份了。(在PHP,ASP或者其他服務(wù)端語言中都自動幫你實現(xiàn)了)
實現(xiàn)cookie
需要為每一個用戶設(shè)置一個可以標(biāo)示用戶身份的cookie??梢允褂萌缦乱?guī)則
注冊郵箱MD5值+密碼MD5值+隨機(jī)碼MD5值。(僅僅舉例,這可能并不是一個好的方案)
服務(wù)端代碼片段:
cookie
使用 cookie 獲取用戶身份,設(shè)置session
把所有非靜態(tài)資源的請求都定向到這里處理。獲取cookie,把cookie拆分并在數(shù)據(jù)庫查找符合條件的用戶。最后使用 next 跳轉(zhuǎn)到下一個請求邏輯。
下一個請求邏輯就可是直接使用 req.session.user 來獲取 user 對象了。
req.session = {};
if( req.cookies && req.cookies.sid ){
var a = req.cookies.sid.split("|");
var hexMail = a[0];
var hexPwd = a[1];
var hexRandom = a[2];
UserModel.hexFind(hexMail, hexPwd, hexRandom, function( status ){
//console.log("hexFind", status );
if(status.code == "0"){
//req.cookiesSelecter = cookiesSelecter;
req.session.user = status.result;
}
next();
});
}else{
next();
}
}
以上就是nodejs 的 session 簡單使用的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
node.js學(xué)習(xí)之?dāng)嘌詀ssert的使用示例
assert 模塊主要用于編寫程序的單元測試時使用,通過斷言可以提早發(fā)現(xiàn)和排查出錯誤。下面這篇文章主要給大家介紹了關(guān)于node.js學(xué)習(xí)之?dāng)嘌詀ssert的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
node+koa2+mysql+bootstrap搭建一個前端論壇
本篇文章通過實例給大家分享了用node+koa2+mysql+bootstrap搭建一個前端論壇的步驟,有需要的朋友參考下。2018-05-05
Node.JS枚舉統(tǒng)計當(dāng)前文件夾和子目錄下所有代碼文件行數(shù)
這篇文章主要介紹了Node.JS枚舉統(tǒng)計當(dāng)前文件夾和子目錄下所有代碼文件行數(shù),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08

