Skip to main content
 首页 » 编程设计

python之用户在 Django 的哪个位置成为 AnonymousUser

2025年05月04日27bjzhanghao

我正在尝试找出 request.user 究竟在何处/何时成为 AnonymousUser。我一直在搜索整个 Auth 后端,但我似乎找不到它。我找错地方了吗?

我知道每个未经过身份验证的用户都会成为匿名用户,但我需要知道我正在构建的某些代码在何处/何时发生这种情况。

如有任何帮助,我们将不胜感激。

请您参考如下方法:

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