2017-12-25 10 views
0

를 라우터에공유 세션, 서버는 전 서버에서 라우터에 세션을 공유 할

내 서버 : 내가 라우터 (다른 파일 서버 및 라우터)에 대한 세션을 필요

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

라우터에서 세션을 사용하려는 경우 미들을 배치해야합니다. 라우터를 사용하기 전에 전화가 app.use(session...)입니다. 이는 요청 W 응답 오브젝트가 미들웨어가 배치 된 순서대로 미들웨어를 통해 이동하기 때문입니다. 이제 당신은뿐만 아니라 evaluacion 파일에 경로에 req.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'); 
    } 

}); 

: 귀하의 경우 그냥에 코드를 변경합니다.