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
This commit is contained in:
Ole Laursen 2014-01-24 14:30:00 +00:00
parent 32874a2c89
commit e2554a6a0c
3 changed files with 7 additions and 15 deletions

View file

@ -56,4 +56,9 @@ class UnicodeNfkcNormalization(object):
request.META["PATH_INFO"] = unicodedata.normalize('NFKC', request.META["PATH_INFO"])
request.path_info = unicodedata.normalize('NFKC', request.path_info)
return None
class FillInRemoteUserIfLoggedInMiddleware(object):
def process_request(self, request):
if request.user.is_authenticated() and "REMOTE_USER" not in request.META:
request.META["REMOTE_USER"] = request.user.username

View file

@ -119,6 +119,7 @@ MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'ietf.middleware.FillInRemoteUserIfLoggedInMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.http.ConditionalGetMiddleware',

View file

@ -88,11 +88,6 @@ class RecordUrlsMiddleware(object):
def process_request(self, request):
visited_urls.add(request.path)
class FillInRemoteUserMiddleware(object):
def process_request(self, request):
if request.user.is_authenticated() and "REMOTE_USER" not in request.META:
request.META["REMOTE_USER"] = request.user.username
def get_url_patterns(module):
res = []
try:
@ -204,15 +199,6 @@ class IetfTestRunner(DiscoverRunner):
old_destroy = connection.creation.__class__.destroy_test_db
connection.creation.__class__.destroy_test_db = safe_destroy_0_1
classes = []
for m in settings.MIDDLEWARE_CLASSES:
if m == "django.contrib.auth.middleware.RemoteUserMiddleware":
# the tests are not passing in REMOTE_USER, so insert
# hack to do so automatically
classes.append("ietf.utils.test_runner.FillInRemoteUserMiddleware")
classes.append(m)
settings.MIDDLEWARE_CLASSES = tuple(classes)
check_coverage = not test_labels
if check_coverage: