Задать вопрос
piatachki
@piatachki

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

Добрый день!

Есть гипотетическое веб-приложение. Бэк на Spring, фронт на React отдельным приложением. Есть пользователи с разными правами (Spring Security). Часть элементов интерфейса нужно скрывать от некоторых пользователей в зависимости от прав. Например, пункты меню, кнопки, вот это вот всё.

Если бы фронт был на Thymeleaf, мы для для этого использовали конструкцию типа

<div sec:authorize="isAuthenticated()">

Вопрос: как в общих чертах решается эта задача в случае, когда фронт написан на JS-фреймворке? Есть какие-то практики, рекомендации? Пока только приходит на ум отдельным запросом получать с бэка информацию о доступности элемента интерфейса для пользователя. Но решение, очевидно, не очень элегантное и, потому, скорее всего не верное. Как вообще люди решают эту задачу в общих чертах?

Спасибо!
  • Вопрос задан
  • 188 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Spring
Седой и строгий
Когда на фронте SPA, стоит использовать JWT - на успешную аутентификацию по паре логин-пароль отдавать с сервера токен, содержащий информацию о правах. Фронт будет отображать элементы интерфейса в соответствии с информацией из токена, а при действиях требующих авторизации, передавать этот токен бэку для проверки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽