Как ограничить пользователей Маршрутами в reactjs - PullRequest
0 голосов
/ 20 апреля 2020

Как я могу ограничить маршруты пользователей? Я хочу ограничить пользователей, вручную вводящих URL-адрес в адресной строке, например: http://localhost: 3000 / admin , если пользователь находится в https://localhost/users. Я хочу, чтобы только администратор использовал маршрут /admin.

Я пытаюсь создать многопользовательский блог, а для маршрута /admin я не хочу, чтобы обычные пользователи вручную вводили маршрут в адресная строка, например http://localhost: 3000 / admin , где маршрут /admin предназначен только для администратора, поэтому всякий раз, когда пользователь вводит вручную в адресной строке значение http://localhost: 3000 / admin я хочу отобразить сообщение об ошибке и перенаправить пользователя обратно на страницу root.

Я использую useEffect реакции и аутентификации пользователя для обычного пользователя и администратора и использую Router.push('/'), если пользователь не является администратором и также хочет отобразить страницу с надписью ENTRY RESTRICTED, сообщением об ошибке, которое я получаю из API, по res.json(). Он работает, но проблема в том, что пользователь все еще может видеть панель администратора примерно 2/3 секунды, а затем перенаправляется на страницу root. Я хочу ограничить это и отобразить сообщение.

РЕПО:

https://github.com/nitink66/blog-frontend

https://github.com/nitink66/blog-backend

Я также пытаюсь не помещать папку sh node_modules в github, добавив .gitignore, но по некоторым причинам она не работает.

1 Ответ

0 голосов
/ 20 апреля 2020

Для ролевой базы:

Следовать Реагировать на приведенный пример . Это может помочь вам

Репо:

, чтобы игнорировать замену node_modules ниже кода

/node_modules
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...