session 不用多介绍,使一个http可以对应一个终端用户。
session的本质使用cookie来实现。
原理大概是:http 带来服务端提前设置 cookie,服务端拿到标示用户身份的cookie,再去固定地点(数据库,文件)检索出对应的用户身份。把身份赋值给本次请求的request,在程序处理中就知晓了用户的身份了。(在PHP,ASP或者其他服务端语言中都自动帮你实现了)
实现cookie
需要为每一个用户设置一个可以标示用户身份的cookie。可以使用如下规则
注册邮箱MD5值+密码MD5值+随机码MD5值。(仅仅举例,这可能并不是一个好的方案)
服务端代码片段:
cookie
把所有非静态资源的请求都定向到这里处理。获取cookie,把cookie拆分并在数据库查找符合条件的用户。最后使用 next 跳转到下一个请求逻辑。
下一个请求逻辑就可是直接使用 req.session.user 来获取 user 对象了。
下面给大家说说nodejs通过session实现身份验证
nodejs express session 身份验证
1)引入模块
2)应用cookie及session
3)请求时,应用身份验证
登录则通过,进行下一个请求
}
else
{
res.redirect('/login');
}
} else if (req.session.user) {
next();
}
});
4)登陆设计
logout',res){
req.session.user = null;
res.redirect('/login');
});
原文链接:https://www.f2er.com/nodejs/50204.html