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