Skip to content

Commit e2554a6

Browse files
committed
It turns out that Django resetting the user if REMOTE_USER is not passed in is a problem on live to, so switch the whole code base to using the middleware to set REMOTE_USER from the logged in user if not passed in from the outside
- Legacy-Id: 7167
1 parent 32874a2 commit e2554a6

3 files changed

Lines changed: 7 additions & 15 deletions

File tree

ietf/middleware.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,9 @@ def process_request(self, request):
5656
request.META["PATH_INFO"] = unicodedata.normalize('NFKC', request.META["PATH_INFO"])
5757
request.path_info = unicodedata.normalize('NFKC', request.path_info)
5858
return None
59-
59+
60+
class FillInRemoteUserIfLoggedInMiddleware(object):
61+
def process_request(self, request):
62+
if request.user.is_authenticated() and "REMOTE_USER" not in request.META:
63+
request.META["REMOTE_USER"] = request.user.username
64+

ietf/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
'django.middleware.common.CommonMiddleware',
120120
'django.contrib.sessions.middleware.SessionMiddleware',
121121
'django.contrib.auth.middleware.AuthenticationMiddleware',
122+
'ietf.middleware.FillInRemoteUserIfLoggedInMiddleware',
122123
'django.contrib.auth.middleware.RemoteUserMiddleware',
123124
'django.contrib.messages.middleware.MessageMiddleware',
124125
'django.middleware.http.ConditionalGetMiddleware',

ietf/utils/test_runner.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,6 @@ class RecordUrlsMiddleware(object):
8888
def process_request(self, request):
8989
visited_urls.add(request.path)
9090

91-
class FillInRemoteUserMiddleware(object):
92-
def process_request(self, request):
93-
if request.user.is_authenticated() and "REMOTE_USER" not in request.META:
94-
request.META["REMOTE_USER"] = request.user.username
95-
9691
def get_url_patterns(module):
9792
res = []
9893
try:
@@ -204,15 +199,6 @@ def run_tests(self, test_labels, extra_tests=None, **kwargs):
204199
old_destroy = connection.creation.__class__.destroy_test_db
205200
connection.creation.__class__.destroy_test_db = safe_destroy_0_1
206201

207-
classes = []
208-
for m in settings.MIDDLEWARE_CLASSES:
209-
if m == "django.contrib.auth.middleware.RemoteUserMiddleware":
210-
# the tests are not passing in REMOTE_USER, so insert
211-
# hack to do so automatically
212-
classes.append("ietf.utils.test_runner.FillInRemoteUserMiddleware")
213-
classes.append(m)
214-
settings.MIDDLEWARE_CLASSES = tuple(classes)
215-
216202
check_coverage = not test_labels
217203

218204
if check_coverage:

0 commit comments

Comments
 (0)