在看node.js开发指南,上面说登入登出是req.session.user = user 变量的简单标记。前面说服务端会自动生成唯一标示符发给浏览器,浏览器将这个唯一标示符保存在cookie里,每次发送请求吧cookie发送给服务端,服务端通过这个唯一标示符识别用户。之前在网上搜过,说生成一个sessionID,想问下这个sessionID是服务端自动生成的还是说我们需要自己配置。像node.js开发指南上的req.session.user怎么就用它来登入登出了,我们没有语句判断session.user是否在服务端存在啊,书上判断的是用户名和用户密码是否正确,正确就req.session.user = user,这行代码req.session.user = user可以用来判断用户是否处于登陆状态码?cookie配置在书上也没有啊?
1 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
你还没有完全理解什么是 session, cookie。
如果登录成功,把 user 对象保存到 服务器内存(或其它缓存)中,session 自己会实现往用户返回的 http header cookies 中,写入 session 生成的 sessionID。客户端收到后,保存到本机。下次向服务器请求时,会在 http header cookies 中,把这个值提交给服务器。服务器通常自动启动 session,检查是否有 sessionID,如果有且合法,就根据这个 ID,取回 user 对象,这样,你就可以在 req.session.user 中取到登录时保存的信息了。
这个服务器 session 处理程序,你也可以自己写。
我不知道你看的指南,和我说的有没有出入,仅供参考。
添加回答
举报
0/150
提交
取消