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

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

Добрый день!

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

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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽