express.js - перенаправить на другой URL через промежуточное ПО, если условие не соответствует - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть портал администратора, и я реализовал еще одну функцию конфигурации для администратора на портале. Мне нужно держать / admin / configure вне аутентификации, но другие должны быть.

Я говорю о следующем URL -

/ администратор / * а также / администратор / Configure

Я пытаюсь создать middleware, который позволяет мне перенаправлять на страницу входа, когда URL-адрес / admin / * не / admin / configure

Я пытаюсь использовать следующий код -

app.use('/admin/*', (req, res, next) => {
    if(req.path == '/admin/configure'){
        next();
    }

    if(req.session.user_id){
        next();
    } else{
        res.redirect('/admin/login');
    }
});

Но он возвращается с ошибкой -

ERR_TOO_MANY_REDIRECTS

Не могли бы вы выяснить проблему наилучшим способом.

Спасибо!

1 Ответ

0 голосов
/ 29 апреля 2018

Вы перенаправляете на /admin/login, который выполняет ту же логику маршрута /admin/*, вызывая бесконечные перенаправления.
Либо выполните ту же индивидуальную проверку для /admin/login, что и для /admin/configure, либо измените ее маршрут.

...