Получить аутентифицированного пользователя в виде декоратора - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь перехватить контрольный журнал всех запросов GET, используя декоратор, но у меня проблема с захватом аутентифицированного пользователя.Я хотел бы получить моего аутентифицированного пользователя из заголовка, который содержит токен JWT, содержащий идентификатор пользователя.

Предположим, у меня есть следующее представление:

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

Есть ли способ получить активного пользователя?Я пытался получить его от request request.context['request'], но request является только объектом UserViewSet и не имеет атрибута context.

...