Несоответствие между `request.user` и `request.session` в Django

Я понимаю, что login() прикрепит User к request.session и request.user после того, как authenticate() успешно подтвердит учетные данные.

Мне интересно, будут ли случаи, когда request.user становится anonymous user, а request.session по-прежнему имеет User? Я сам с этим столкнулся.

Если ответ на этот вопрос положительный, то когда request.user.is_authenticated == False, должны ли мы

  1. flush the existing session, and prompt for login again to avoid someone use previously stored session. or
  2. we can directly attach user in request.session to request.user to make it logged_in user.

Спасибо за вашу проницательность.

Вернуться на верх