共享会话,服务器到路由器

时间:2017-12-25 22:50:16

标签: express

我希望从服务器分享会话到路由器

我的服务器:

var routesEvaluacion = require('./routes/evaluacion');
app.use('/evaluacion', routesEvaluacion);
...
app.use(session({
    secret: 'administrador',
    resave: false,
    saveUninitialized: true
}))
app.post('/consultas', function (req, res) {

    if (req.body.nombre === "student" && req.body.pass === "student") {
        req.session.nombre = 'student';
        res.redirect('/listaEvaluaciones');
    }

});

我需要路由器上的会话(不同的文件服务器和路由器)

router.get('/autenticacion/:id',function (req, res) {
 //  **req.session.nombre**
});

1 个答案:

答案 0 :(得分:1)

如果您还想在路由器中使用会话,则需要在使用路由器之前进行中间件调用,即app.use(session...)。这是因为请求和响应对象按照放置中间件的顺序流经中间件。对于您的情况,只需将代码更改为:

var routesEvaluacion = require('./routes/evaluacion');
app.use(session({
    secret: 'administrador',
    resave: false,
    saveUninitialized: true
}))

app.use('/evaluacion', routesEvaluacion);
...

app.post('/consultas', function (req, res) {

    if (req.body.nombre === "student" && req.body.pass === "student") {
        req.session.nombre = 'student';
        res.redirect('/listaEvaluaciones');
    }

});

现在,您还可以在evaluacion文件中访问路线中的req.session对象。