Создать новое промежуточное программное обеспечение
Напомним, что этот проект строится на следующем стартовом проекте Glitch или клонируется из GitHub . Как и в случае, любой пользователь может просто перейти к / профилю, прошли ли они проверку подлинности или нет, набрав URL-адрес. Мы хотим предотвратить это, проверив, проверен ли пользователь первым, прежде чем отображать страницу профиля. Это прекрасный пример того, когда создавать промежуточное ПО. Задача здесь заключается в создании функции промежуточного программного обеспечения, обеспечивающей ensureAuthenticated(req, res, next)
, которая проверяет, аутентифицирована ли пользователь, вызывая passports isAuthenticated по запросу, который в свою очередь проверяет, что req.user должен быть определен. Если это так, то следует вызвать next () , иначе мы можем просто ответить на запрос с перенаправлением на нашу домашнюю страницу для входа. Реализация этого промежуточного программного обеспечения:
функция makeAuthenticated (req, res, next) { if (req.isAuthenticated ()) { return next (); } res.redirect ( '/'); };Теперь добавьте makeAuthenticated в качестве промежуточного программного обеспечения в запрос для страницы профиля перед аргументом запроса get, содержащего функцию, которая отображает страницу.
app.route ( '/ профиль') .get (обеспечитьAuthenticated, (req, res) => { res.render (process.cwd () + '/ views / pug / profile'); });Представьте свою страницу, когда вы думаете, что у вас все в порядке.