nodejs表示创建多个会话的静态路由

时间:2014-06-04 01:45:52

标签: node.js session express

我正在使用Nodejs和Express。我有一个routes.js文件定义我的所有路线。当我尝试使用req.session.regenerate()时,express会创建多个会话,包括静态文件请求。

令人困惑的是req.session.regenerate()在app.get(' /'路由中,它似乎来自console.log它只被调用一次。但不知怎的,当我看到mongodb会话集合,为一个页面请求创建了多个会话。

基本上我要做的是当请求登录页面时我想创建一个新会话,以便快递不会重复使用以前会话的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')
    }
});

1 个答案:

答案 0 :(得分:3)

将您的快速会话中间件放在express.static()中间件之后。