Пользовательские разрешения для различных типов пользователей 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.
Свяжитесь со мной, если у вас остались какие-либо сомнения.