gpt4 book ai didi

Django rest_framework,在特定方法中禁用身份验证和权限

转载 作者:行者123 更新时间:2023-12-04 14:21:53 24 4
gpt4 key购买 nike

我有一个名为 UserViewSet 的类:

class UserViewSet(viewsets.ModelViewSet):
queryset = UserData.objects.all()
serializer_class = UserSerializer
from rest_framework.permissions import IsAuthenticated
from rest_framework.authentication import TokenAuthentication
permission_classes = (IsAuthenticated,)
authentication_classes = (TokenAuthentication,)

@action(methods=['post'], detail=False)
def signup_user(self, request):
request_data = request.query_params
if len(request_data) == 0:
return Response("Empty params !")

现在我想注册一个新用户,它会引发这个错误:

{ "detail": "Authentication credentials were not provided." }

这是因为 AuthenticationPermission 类。

那么在 signup 函数中禁用此类的正确方法是什么?

我使用了 authentication_classespermission_classes decorators 但它对这个功能没有影响。

最佳答案

action装饰器允许指定特定于操作的权限类。这应该做:

    @action(methods=['post'], detail=False, permission_classes=[AllowAny])
def signup_user(self, request):
# ...

(不要忘记导入 AllowAny )

关于Django rest_framework,在特定方法中禁用身份验证和权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53650419/

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