diff options
| author | Jon Janzen <jon@jonjanzen.com> | 2023-02-13 18:24:35 -0500 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-03-07 13:11:22 +0100 |
| commit | e846c5e7246a0ffbe5dcf07a2b6c7c2a47537eb3 (patch) | |
| tree | d86cad38a58734387b5142b6d5d90d0b90d2f7f2 /django/contrib/auth/middleware.py | |
| parent | e83a88566a71a2353cebc35992c110be0f8628af (diff) | |
Fixed #31920 -- Made AuthenticationMiddleware add request.auser().
Diffstat (limited to 'django/contrib/auth/middleware.py')
| -rw-r--r-- | django/contrib/auth/middleware.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/django/contrib/auth/middleware.py b/django/contrib/auth/middleware.py index dcc482154c..72dc553827 100644 --- a/django/contrib/auth/middleware.py +++ b/django/contrib/auth/middleware.py @@ -1,3 +1,7 @@ +from functools import partial + +from asgiref.sync import sync_to_async + from django.contrib import auth from django.contrib.auth import load_backend from django.contrib.auth.backends import RemoteUserBackend @@ -12,6 +16,12 @@ def get_user(request): return request._cached_user +async def auser(request): + if not hasattr(request, "_acached_user"): + request._acached_user = await sync_to_async(auth.get_user)(request) + return request._acached_user + + class AuthenticationMiddleware(MiddlewareMixin): def process_request(self, request): if not hasattr(request, "session"): @@ -23,6 +33,7 @@ class AuthenticationMiddleware(MiddlewareMixin): "'django.contrib.auth.middleware.AuthenticationMiddleware'." ) request.user = SimpleLazyObject(lambda: get_user(request)) + request.auser = partial(auser, request) class RemoteUserMiddleware(MiddlewareMixin): |
