Django request.user сбрасывает значение AnonymousUser после перенаправления по url

У меня есть проект Django, в котором используется базовая аутентификация (django.contrib.auth). Я использую промежуточное ПО для проверки аутентификации пользователя и перенаправления на страницу входа, если нет. Все работает как ожидалось, пока я не использую урлы сайта, подобные следующим

path("edit/<int:id>/", netinventory_views.NodeEdit, name="edit"),
path("nodes/<int:id>/", netinventory_views.NodeTest, name="test"),

Поэтому request.user сбрасывается на AnonymousUser.

middleware.py:

from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import redirect
from django.conf import settings
from django.core.cache import cache

EXEMPT_URLS = [settings.LOGIN_URL.lstrip('/')]

if hasattr(settings, 'LOGIN_EXEMPT_URLS'):
    EXEMPT_URLS += [url for url in settings.LOGIN_EXEMPT_URLS]

class AuthRequiredMiddleware(MiddlewareMixin):
    def process_request(self, request):
          path = request.path_info.lstrip('/')
          if request.user.is_authenticated:
              user = request.user
              cache.set('_cached_user', user)
              return
          else:
             if path not in EXEMPT_URLS:
                 return redirect('login')
Вернуться на верх