Я в процессе перехода от PHP к NodeJS, я пытаюсь понять, почему перенаправление промежуточного программного обеспечения выходит из-под контроля.NodeJS, создающий повторные перенаправления
// Check to see if the request includes a session Username
app.use(function (req, res, next) {
sessionmanager = req.session;
if(sessionmanager.Username) {
console.log('Session Details detected');
next();
} else {
console.log('No session details detected, pushing user to login page');
res.redirect('/login');
}
});
// User Landing Page
app.get('/', function (req, res) {
console.log('Request for landing page');
res.send('Welcome Page!');
});
// User Login Page
app.get('/login', function (req, res) {
console.log('Request for User login page');
res.sendFile(path.join(__dirname, './public', 'login.html'));
});
Когда я посещаю Localhost: 3000 перенаправляет меня на локальный: 3000/логин, но страница не загружается, потому что это выглядит как его перенаправлен слишком много раз. Когда я смотрю на консольный журнал, я могу рассчитывать; 20+ строк сообщения «Сведения о сеансе не обнаружены, нажатие на страницу входа в систему».
Из того, что я могу догадаться, перенаправление возвращается к функции app.use, не удается передать менеджер сеанса. Утверждение пользователя и застревает в цикле. Каким образом можно перенаправить трафик на страницу/login? Могу ли я добавить предложение exclude в app.use?