У меня есть простое веб-приложение, в котором есть экран входа в систему и страница активности, доступная только тогда, когда пользователь предоставил действительные учетные данные. Предполагая, что пользователь нажимает на логин с действительными учетными данными и перенаправляется на страницу активности. Теперь пользователь не нажимает на выход из системы, вместо этого он просто нажимает кнопку "Назад" браузера и возвращается на страницу входа в систему. Такое поведение очевидно не интуитивно понятное, я бы предположил, что во время входа пользователя в систему и он нажимает кнопку "Назад", чтобы оставаться на одной странице, а не вернуться на страницу входа.
function loginUser(req, res) {
if (req.session.auth) // if user is still authenticated
{
res.redirect('/activity');
}
res.render('login');
}
Это простой способ, который я использую в настоящее время, чтобы всегда перенаправлять пользователя на страницу активности, однако я считаю этот ресурс расточительным методом, поскольку есть нежелательные перенаправления. Мой вопрос в том, является ли это стандартным и самым чистым способом реализации вышеуказанного поведения или есть лучший механизм? Я использую паспорт для аутентификации и хранения токенов jwt.
EDIT: повторная итерация вышеупомянутого решения работает только в том случае, если включен кеш-браузер, в отличие от которого контроллер для маршрута входа в систему даже не вызывается, так как браузер кэшировал страницу. Я ищу что-то более надежное. Я не думаю, что это хорошая практика, чтобы жестко закодировать браузер, чтобы не кэшировать страницу в рабочей среде.