Я использую Django Rest Framework с React на внешнем интерфейсе.Я использую Token Athentication и все работает нормально.Теперь у меня есть требование, чтобы разные пользователи могли получать доступ к разным вещам в зависимости от их прав.Это возможно при использовании администратора Django, но мои пользователи будут использовать интерфейс React.
Я просмотрел Разрешения Django Rest , но я не видел, как я могу использовать это в своем интерфейсе React.Я также посмотрел на Джанго Страж , но я не уверен, что мне это нужно для моего требования.Я просмотрел много учебников и статей, но я не могу найти какой-либо прямой способ добиться этого.
Вот подход, который я использовал sofar: создал сериализатор для встроенной пользовательской модели, затем создалViewSet и я теперь можем получить доступ к списку пользователей через API.
from django.contrib.auth.models import User
class UserSerializer(SerializerExtensionsMixin,serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
class UserViewSet(SerializerExtensionsAPIViewMixin, viewsets.ModelViewSet):
serializer_class = UserSerializer
queryset = User.objects.all()
router = DefaultRouter()
router.register(r'user', UserViewSet, basename='user')
Используя это, я могу получить доступ к пользователю с группами и разрешениями, как показано на рисунке ниже.Теперь я собираюсь вызвать api url на моем интерфейсе React и каким-то образом использовать разрешения и группы, связанные с пользователем, чтобы контролировать то, что видят пользователи.
Есть ли лучший способ выполнить это требование?Я делаю это правильно?Кто-то сделал это, и, может быть, я могу позаимствовать его опыт?