Sobes.tech
Middle+

Kā jūs īstenojāt lomu balstītu piekļuves modeli priekšējā daļā? Kā tika noteikts, ko rādīt lietotājam atkarībā no atļaujām?

sobes.tech AI

Atbilde no AI

Ролевая модель доступа на фронтенде обычно реализуется через хранение информации о ролях и правах пользователя (permissions) в состоянии приложения после аутентификации.

Основные подходы:

  • После входа пользователя фронтенд получает от сервера список его ролей и пермиссий.
  • В зависимости от этих данных компоненты или маршруты показываются или скрываются.
  • Часто используется контекст или глобальное состояние (например, Redux, Context API в React) для хранения прав.
  • Для удобства создаются утилиты или хуки, которые проверяют наличие нужных прав.

Пример на React:

const userPermissions = ['read_articles', 'edit_profile'];

function hasPermission(permission) {
  return userPermissions.includes(permission);
}

function Profile() {
  return (
    <div>
      <h1>Профиль пользователя</h1>
      {hasPermission('edit_profile') && <button>Редактировать профиль</button>}
    </div>
  );
}

Таким образом, интерфейс адаптируется под пользователя, показывая только те элементы, на которые у него есть права.