Node.js 快速会话:为什么在设置我的会话信息之前执行重定向?
还有一个“我刚开始学习node.js/express,现在我被困在这里了”的人。我试着到处寻找答案,但已经走到了死胡同。这是我的第一个问题,所以请告诉我我是否做了一些错误或非常规的事情 我试图创建一个POST请求,将用户对象保存到express会话(在MongoDB上),并将您重定向到处理会话信息的URL 问题是,在设置标头之前,用户被重定向,我得到以下信息:Node.js 快速会话:为什么在设置我的会话信息之前执行重定向?,node.js,express,session-cookies,express-session,Node.js,Express,Session Cookies,Express Session,还有一个“我刚开始学习node.js/express,现在我被困在这里了”的人。我试着到处寻找答案,但已经走到了死胡同。这是我的第一个问题,所以请告诉我我是否做了一些错误或非常规的事情 我试图创建一个POST请求,将用户对象保存到express会话(在MongoDB上),并将您重定向到处理会话信息的URL 问题是,在设置标头之前,用户被重定向,我得到以下信息: 错误:发送邮件后无法设置邮件头。 这是我的密码。我知道这是很多。。对不起 http://www.post/) 注意“req.sessio
错误:发送邮件后无法设置邮件头。
这是我的密码。我知道这是很多。。对不起
http://www.post/)
注意“req.session.user=userObj”部分。在这里,我试图将会话中的“user”设置为从MongoDB检索到的user对象。在下一行中,我将用户重定向回“/”的GET请求处理程序,该处理程序根据会话信息处理用户
由于某些原因,这些事情并没有按顺序发生。GET请求处理程序找不到req.session.user
我知道node.js完全是关于异步的,但从我在网上找到的其他示例来看,这应该是可行的。我在这里遗漏了什么?保存会话后,您可以将重定向放在回调中,例如:
...
// Set 'req.session.user' as cookie
req.session.user = userObj;
req.session.save(function(err) {
// session saved
res.redirect('/')
})
...
希望这能确保用户只在会话保存后被重定向
注意:请确保使用诸如或pbkdf2之类的内容散列密码。保存会话后,您可以将重定向放入回调中,例如:
...
// Set 'req.session.user' as cookie
req.session.user = userObj;
req.session.save(function(err) {
// session saved
res.redirect('/')
})
...
希望这能确保用户只在会话保存后被重定向
注意:请确保使用类似或pbkdf2的内容散列您的密码