fix: do not log error for sessions where user is changed to None (#29036)

This commit is contained in:
Rebecca Graber
2021-10-15 13:55:26 -04:00
committed by GitHub
parent 4dd5365501
commit 835666a0bf
2 changed files with 5 additions and 3 deletions

View File

@@ -421,10 +421,12 @@ class SafeSessionMiddleware(SessionMiddleware, MiddlewareMixin):
request.user = request.user.real_user
# determine if the request.user is different now than it was on the initial request
request_user_object_mismatch = request.safe_cookie_verified_user_id != request.user.id
request_user_object_mismatch = request.safe_cookie_verified_user_id != request.user.id and\
request.user.id is not None
# determine if the current session user is different than the user in the initial request
session_user_mismatch = request.safe_cookie_verified_user_id != userid_in_session
session_user_mismatch = request.safe_cookie_verified_user_id != userid_in_session and\
userid_in_session is not None
if request_user_object_mismatch or session_user_mismatch:
# Log accumulated information stored on request for each change of user

View File

@@ -203,7 +203,7 @@ class TestSafeSessionProcessResponse(TestSafeSessionsLogMixin, TestCase):
self.request.safe_cookie_verified_session_id = '1'
self.request.user = AnonymousUser()
self.request.session[SESSION_KEY] = self.user.id
with self.assert_no_error_logged():
with self.assert_no_warning_logged():
self.assert_response(set_request_user=False, set_session_cookie=True)
def test_update_cookie_data_at_step_3(self):