[英]Django request.user become AnonymousUser after third party redirect
[英]Where in Django does a user become an AnonymousUser?
我試圖找出在哪里/什么時候request.user成為AnonymousUser。 我一直在搜索整個Auth后端,但似乎找不到它。 我看錯地方了嗎?
我知道,不是經過身份驗證的用戶的每個用戶都將成為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 。
“ contrib / auth / init .py”中的注銷方法也會影響AnonymousUser()到request.user,請看下面的代碼:
if hasattr(request, 'user'):
from django.contrib.auth.models import AnonymousUser
request.user = AnonymousUser()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.