簡體   English   中英

用戶在Django中的哪個位置成為AnonymousUser?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM