gpt4 book ai didi

django - 如何通过 Django Rest Framework 在 React 前端上使用 Django 用户组和权限

转载 作者:行者123 更新时间:2023-12-03 13:53:32 26 4
gpt4 key购买 nike

我在前端使用 Django Rest Framework 和 React。我正在使用 token 认证,一切正常。我现在需要确保不同的用户可以根据他们的权限访问不同的内容。这可以使用 Django admin 实现,但我的用户将使用 React 前端。

我浏览了Django Rest permissions但我不知道如何在我的 React 前端上使用它。我还看了Django guardian但我不确定这是否符合我的要求。我浏览了很多教程和文章,但似乎找不到任何直接的方法来实现这一目标。

这是我迄今为止使用的方法:为内置用户模型创建了一个序列化器,然后创建了一个 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')

使用它,我可以访问具有组和权限的用户,如下图所示。我现在将在 React 前端调用 api url,并以某种方式使用与用户关联的权限和组来控制用户可以看到的内容。

有没有更好的方法来实现这个要求?我这样做的方式正确吗?有人这样做过吗?我可以借鉴他们的经验吗?

enter image description here

最佳答案

DRF 提供权限类,此外,如果您需要一些自定义,您可以通过创建自定义权限类来实现。请参阅https://www.django-rest-framework.org/api-guide/permissions/#api-reference .

在 React 方面,如果您使用 React 路由器,您可以保护从后端收到的某些角色/权限的每个路由。请参阅https://hackernoon.com/role-based-authorization-in-react-c70bb7641db4这可能对你有帮助

关于django - 如何通过 Django Rest Framework 在 React 前端上使用 Django 用户组和权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54479803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com