【发布时间】:2014-06-04 01:45:52
【问题描述】:
我正在使用 Nodejs 和 Express。我有一个 routes.js 文件定义了我所有的路线。当我尝试使用 req.session.regenerate() 时,express 创建了多个会话,其中每个会话也用于静态文件请求。
令人困惑的是 req.session.regenerate() 在 app.get('/' 路由中,从 console.log 看来它只被调用一次。但不知何故,当我查看 mongodb 会话集合时,有为一个页面请求创建多个会话。
基本上我想要做的是当请求登录页面时我想创建一个新会话,以便 express 不会重复使用以前会话的 cookie。
任何指针?
routes.js
exports = module.exports = function(app, passport) {
//When I uncomment this line, it shows me the number of times a request is made.
//app.all('*', function(req, res, next){console.log('Request made to server'); next();});
app.get('/', function(req, res){
if (req.isAuthenticated()){
res.redirect('./home');
}else{
req.session.regenerate(function(err) {
console.log('Regenerated');
})
res.render('./login')
}
});
【问题讨论】: