在视图d中获取经过身份验证的用户

2024-04-24 05:54:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用装饰器捕获所有GET请求的审计跟踪,但是捕获经过身份验证的用户时遇到问题。我想从包含JWT令牌(包含用户id)的头中获取经过身份验证的用户

假设我有以下观点:

class UserViewSet(viewsets.ModelViewSet):
    authentication_classes = (JSONWebTokenAuthentication,)
    permission_classes = (IsAuthenticated,)

    serializer_class = UserSerializer

    @audit_view_action()
    def get_queryset(self):
        return get_users(self.request.user)

还有下面的装饰师:

def audit_view_action():
    def decorator_func(func):
        def wrapper_func(request, *args, **kwargs):
            retval = func(request, *args, **kwargs)
            return retval
        return wrapper_func
    return decorator_func

有没有办法获得活跃用户?我试过从requestrequest.context['request']获取它,但是request只是一个UserViewSet对象,没有context属性。你知道吗


Tags: 用户self身份验证viewgetreturnrequestdef