nodejs 的 session 簡(jiǎn)單使用
session的本質(zhì)使用cookie來(lái)實(shí)現(xiàn)。
原理大概是:http 帶來(lái)服務(wù)端提前設(shè)置 cookie,服務(wù)端拿到標(biāo)示用戶身份的cookie, 再去固定地點(diǎn)(數(shù)據(jù)庫(kù),文件)檢索出對(duì)應(yīng)的用戶身份。把身份賦值給本次請(qǐng)求的request,在程序處理中就知曉了用戶的身份了。(在PHP,ASP或者其他服務(wù)端語(yǔ)言中都自動(dòng)幫你實(shí)現(xiàn)了)
實(shí)現(xiàn)cookie
需要為每一個(gè)用戶設(shè)置一個(gè)可以標(biāo)示用戶身份的cookie??梢允褂萌缦乱?guī)則
注冊(cè)郵箱MD5值+密碼MD5值+隨機(jī)碼MD5值。(僅僅舉例,這可能并不是一個(gè)好的方案)
服務(wù)端代碼片段:
cookie
使用 cookie 獲取用戶身份,設(shè)置session
把所有非靜態(tài)資源的請(qǐng)求都定向到這里處理。獲取cookie,把cookie拆分并在數(shù)據(jù)庫(kù)查找符合條件的用戶。最后使用 next 跳轉(zhuǎn)到下一個(gè)請(qǐng)求邏輯。
下一個(gè)請(qǐng)求邏輯就可是直接使用 req.session.user 來(lái)獲取 user 對(duì)象了。
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 簡(jiǎn)單使用的全部?jī)?nèi)容,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
NodeJS鏈接MySql數(shù)據(jù)庫(kù)的操作方法
下面小編就為大家?guī)?lái)一篇NodeJS鏈接MySql數(shù)據(jù)庫(kù)的操現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
node通過(guò)express搭建自己的服務(wù)器
本篇文章主要介紹了node通過(guò)express搭建自己的服務(wù)器 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
Node.js 獲取微信JS-SDK CONFIG的方法示例
這篇文章主要介紹了Node.js 獲取微信JS-SDK CONFIG的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
使用koa2創(chuàng)建web項(xiàng)目的方法步驟
這篇文章主要介紹了使用koa2創(chuàng)建web項(xiàng)目的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
node.js使用express-jwt報(bào)錯(cuò):expressJWT?is?not?a?function解決
這篇文章主要給大家介紹了關(guān)于node.js使用express-jwt報(bào)錯(cuò):expressJWT?is?not?a?function解決的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-03-03
Node.js系列之發(fā)起get/post請(qǐng)求(2)
這篇文章主要為大家詳細(xì)介紹了Node.js系列之發(fā)起get/post請(qǐng)求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08

