Я написал систему входа в систему с помощью passport.js
Другая группа пользователей будет перенаправлена на другой путь.
router.post('/signin', passport.authenticate('local', {
failureRedirect: '/fail',
failureFlash: true
}),
(req, res) => {
//if sucess
if (req.body.group == 'GroupA'){
res.redirect('/groupa');
}
else if (req.body.group == 'GroupB') {
res.redirect('/groupb');
}
else {
res.redirect('/groupc');
}
}
Я могу успешно пойти по другому маршруту,
но я не могу изменить путь в своем URL, чтобы войти в другой маршрут после входа в систему
(Например, вы вошли как GroupA, затем наберите http://localhost/groupb, и я могу ввести этот маршрут)
Функция «verifyAuthenticated», которую я сделал, может только проверять, вошел ли пользователь в систему, но не с каким пользователем, так как я могу избежать такой проблемы, когда пользователь идет по пути других?
(обеспечить аутентификацию для предпочтения)
function ensureAuthenticated(req, res, next){
if(req.isAuthenticated()) {
console.log(req.body.username);
return next();
}
else {
console.log('You haven\'t login');
res.redirect('/'); //back to login page
}