Пользовательские разрешения для различных типов пользователей django rest framework

Для проекта Django-reactjs, у меня есть модель пользователя в django, которая имеет 3 булевых поля (is_admin, is_moderator, is_normal_user), и у меня также есть 3 другие модели, я хочу установить права для каждого типа пользователя. Пользователь может создавать объекты только для 1 модели, модератор - единственный, кто может редактировать определенное поле модели, а администраторы могут делать все.

Возможно, это банальный вопрос, но я новичок в Django и React, поэтому, если бы вы могли, пожалуйста, рассказать мне, как я могу управлять этим с помощью пользовательских разрешений (некоторые шаги, которые нужно выполнить), а также как эти разрешения обрабатываются из React.

Заранее спасибо!

Вам нужно проверять, есть ли у пользователя разрешение каждый раз, когда он совершает действие, поэтому, когда приложение React обращается к вашему Django API, оно предоставляет токен аутентификации, верно? Этот токен соответствует уникальному пользователю, поэтому вы можете просто сделать оператор if:

if request.user.is_admin:
    do_everything()
elif request.user.is_moderator:
    do_other_stuff()

В приложении react вам понадобится информация о том, является ли вошедший пользователь модератором, администратором или обычным пользователем, чтобы вы могли отображать страницы соответствующим образом. Чтобы получить эту информацию, вы можете реализовать конечную точку '/me', которая возвращает информацию о вошедшем пользователе, включая его статус.

Если вы понятия не имеете, о чем я говорю, я настоятельно рекомендую вам взглянуть на это видео: https://www.youtube.com/watch?v=0d7cIfiydAc

Вся тема слишком длинная для ответа на stackoverflow.

Свяжитесь со мной, если у вас остались какие-либо сомнения.

Вернуться на верх