piatachki
@piatachki

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

Добрый день!

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

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

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

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

Спасибо!
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Spring
Седой и строгий
Когда на фронте SPA, стоит использовать JWT - на успешную аутентификацию по паре логин-пароль отдавать с сервера токен, содержащий информацию о правах. Фронт будет отображать элементы интерфейса в соответствии с информацией из токена, а при действиях требующих авторизации, передавать этот токен бэку для проверки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы