Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

249
Visualizações
No se puede redirigir al usuario a la página de inicio de sesión después de verificar la autenticación en Express.js

He intentado redirigir a los usuarios a una página de inicio de sesión después de enviar una solicitud a la página de inicio si no han iniciado sesión, pero siguen siendo redirigidos a la página de inicio de todos modos. Tengo un método que se usa para verificar si están conectados y devuelve un booleano con su estado, luego he escrito otra función de ayuda usando este método para redirigir al usuario:

 const verifySession = (req, res, next) => { if (req.session) { models.Sessions.get({hash: req.session.hash}) .then(sessionInfo => { return models.Sessions.isLoggedIn(sessionInfo); }) .then (status => { if (!status) { console.log('status', status); res.redirect('/login'); } else { next(); } }); } };

Console.log para el estado devuelve falso como se esperaba, pero aún no se produce ninguna redirección. He intentado usar esta función de ayuda de varias maneras diferentes en mi controlador de solicitud expresa:

 app.get('/', (req, res) => { verifySession(req, res); res.render('index'); });

O:

 app.get('/', verifySession, (req, res) => { res.render('index'); });

O también:

 app.use('/', verifySession); app.get('/', (req, res) => { res.render('index'); });

Ninguno de estos ha podido redirigir al usuario y aún se envían a la página de inicio, incluso cuando el estado es falso y debería estar ocurriendo la llamada redirect.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

const verifySession = (req, res, next) => { if (req.session) { return models.Sessions.get({hash: req.session.hash}) .then(sessionInfo => { return models.Sessions.isLoggedIn(sessionInfo); }) .then (status => { if (!status) { console.log('status', status); return res.redirect('/login'); } else { return next(); } }); } return res.redirect('/login'); //if req.session is falsey };
 app.use('/', verifySession); app.get('/', (req, res) => { res.render('index'); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda