我希望从服务器分享会话到路由器
我的服务器:
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**
});
答案 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对象。