Как запретить пользователю видеть страницу входа после входа в систему?

Я работаю над приложением для реагирования, проблема в том, что после входа в систему и нажатия кнопки «Назад» в браузере я вижу страницу входа,

Каким должен быть лучший подход, чтобы предотвратить это?

  1. Создать промежуточное ПО на стороне сервера для защиты этих маршрутов?
  2. Создать функцию, которая проверяет, когда пользователь нажимает кнопку «назад/вперед»?

Не могли бы вы немного подсказать??


person Community    schedule 23.06.2020    source источник
comment
Если вы используете react-router, вы можете просто перенаправить пользователя в другое место, если пользователь уже вошел в систему, поскольку вы, вероятно, сохраняете некоторое состояние вошедшего в систему пользователя в Redux после входа в систему.   -  person cbr    schedule 23.06.2020
comment
Ознакомьтесь с моим решением здесь: stackoverflow.com/a/68599142/1991020   -  person Isaac Pak    schedule 31.07.2021


Ответы (2)


Если вы используете реактивный маршрутизатор, вы можете использовать перенаправление в компоненте входа в систему.

if (userIsLogged) {
  return <Redirect to={"/homepage"} />;
} 
person ludwiguer    schedule 23.06.2020
comment
что, если мне нужно вызвать функцию вместо маршрутизации по определенному маршруту? - person ; 23.06.2020

Вы можете использовать модуль Route Gurad

https://www.npmjs.com/package/react-router-guards или обратитесь к этому примеру.

Как ограничить доступ к маршрутам в react-router?

person Mushahid    schedule 23.06.2020