nodejs 的 session 简单使用

session的本质使用cookie来实现。

原理大概是:http 带来服务端提前设置 cookie,服务端拿到标示用户身份的cookie,再去固定地点(数据库文件)检索出对应的用户身份。把身份赋值给本次请求的request,在程序处理中就知晓了用户的身份了。(在PHP,ASP或者其他服务端语言中都自动帮你实现了)

实现cookie

  需要为每一个用户设置一个可以标示用户身份的cookie。可以使用如下规则

  注册邮箱MD5值+密码MD5值+随机码MD5值。(仅仅举例,这可能并不是一个好的方案)

服务端代码片段:

代码如下:
fig.domain+";expires="+new Date("2030") ]);

cookie

代码如下:

使用 cookie 获取用户身份,设置session

把所有非静态资源的请求都定向到这里处理。获取cookie,把cookie拆分并在数据库查找符合条件的用户。最后使用 next 跳转到下一个请求逻辑。

一个请求逻辑就可是直接使用 req.session.user 来获取 user 对象了。

代码如下:

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 简单使用的全部内容,希望能给大家一个参考,也希望大家多多支持编程之家。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...