Я создал приложение и расширил AbstractUser, добавив некоторые поля в мою модель User. после того, как это сделано ... все работает как ожидалось (войти, создать пользователя, сбросить пароль ...), но когда я пытаюсь выйти из системы по умолчанию
django.contrib.auth.LogoutView
или include('django.contrib.auth.urls')
он просто проигнорирует выход из системы. когда я возвращаюсь на страницу с ограниченным доступом, я могу зайти и посмотреть содержимое, и мой пользователь фактически вошел в систему!.
Я создал собственный вид выхода из системы, подобный этому
def custom_logout(request):
print('Loggin out {}'.format(request.user))
auth.logout(request)
print(request.user)
return HttpResponseRedirect('/restrictedpage')
на закрытой странице у меня есть печать, чтобы показать пользователю
print("User logged: {}".format(request.user))
Когда я нажимаю кнопку «Выйти», в консоли появляется следующее:
"GET /restrictedpage HTTP/1.1" 200 19820
User logged: ceterre
----- This is where i click logout ------
Loggin out AnonymousUser
AnonymousUser
"GET /accounts/logout/ HTTP/1.1" 302 0 ----- this redirects me to /restrictedpage
User logged: ceterre
"GET /restrictedpage HTTP/1.1" 200 19820
это буквально переводится как:
- i know ceterre is logged
- logging out ceterre
- user logged: AnonymousUser
- redirect to restricted page (where i should have no access since im supposedly logged out)
- user logged: ceterre (without any login or anything...)
это может быть связано с кешем, или я не знаю.