summaryrefslogtreecommitdiff
path: root/django/contrib/auth/middleware.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/auth/middleware.py')
-rw-r--r--django/contrib/auth/middleware.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/django/contrib/auth/middleware.py b/django/contrib/auth/middleware.py
index c1211c9234..2c19a4e840 100644
--- a/django/contrib/auth/middleware.py
+++ b/django/contrib/auth/middleware.py
@@ -13,7 +13,13 @@ class LazyUser(object):
class AuthenticationMiddleware(object):
def process_request(self, request):
assert hasattr(request, 'session'), "The Django authentication middleware requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."
- request.__class__.user = LazyUser()
+
+ # We dynamically subclass request.__class__ rather than monkey patch the
+ # original class.
+ class RequestWithUser(request.__class__):
+ user = LazyUser()
+
+ request.__class__ = RequestWithUser
return None