Как безопасно реализовать роли в реакт-приложении?

Доброго дня.
В приложении могут быть админы и пользователи. Для них отличается функционал и некоторые области разметки. Соответственно, встал вопрос, как безопасно и элегантно разграничивать доступ? Вопрос не о роутинге, а о хранении роли (пока хранится авторизационный токен).

Если я сохраню роль локально, и пользователь ее изменит, ему, как минимум, откроется админская разметка (например, появятся пункты в меню, доступные только администраторам). Сервер, конечно, вернет 403 при попытке постучаться в закрытый раздел, но я не хочу открывать рядовому юзеру то, что видят администраторы.

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

Как обычно делают в таких ситуациях, каков наиболее элегантный путь?
Заранее спасибо.
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Web Developer
При входе пользователя запрашивайте у сервера права пользователя и сохраняйте их, потом в местах вывода проверяйте наличие isAdmin
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы