我試圖找出何時/何時確切request.user成爲AnonymousUser。我一直在搜索整個Auth後端,但我似乎無法找到它。我看錯了地方?在Django中,用戶成爲AnonymousUser的地方在哪裏?
我知道,每個不是Authenticated用戶的用戶都會成爲AnonymousUser,但我需要知道這種情況在何處發生。
任何幫助,將不勝感激。
我試圖找出何時/何時確切request.user成爲AnonymousUser。我一直在搜索整個Auth後端,但我似乎無法找到它。我看錯了地方?在Django中,用戶成爲AnonymousUser的地方在哪裏?
我知道,每個不是Authenticated用戶的用戶都會成爲AnonymousUser,但我需要知道這種情況在何處發生。
任何幫助,將不勝感激。
contrib\auth\__init__.py:80
def get_user(request):
from django.contrib.auth.models import AnonymousUser
try:
user_id = request.session[SESSION_KEY]
backend_path = request.session[BACKEND_SESSION_KEY]
backend = load_backend(backend_path)
user = backend.get_user(user_id) or AnonymousUser()
except KeyError:
user = AnonymousUser()
return user
這一切都在django.contrib.auth.middleware
模塊 - 看這裏:https://github.com/django/django/blob/master/django/contrib/auth/middleware.py#L49瞭解詳情。
嘗試加入假的構造函數AnonymouUser看到回溯說什麼斷言。 –