diff options
| author | Tim Graham <timograham@gmail.com> | 2014-02-18 11:20:35 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-02-18 14:23:38 -0500 |
| commit | e1c8bc8fea1a4eabaa76e4ee3d583c1b4f3796a9 (patch) | |
| tree | 64d6eea29f6096b45d058a70c17a9ce7dbf54564 | |
| parent | 20f455b3d6298431fae34a8f92905f4dd3a4f99f (diff) | |
Fixed #21790 -- Removed reliance on an assert in auth.get_user().
Thanks matklad for the report.
| -rw-r--r-- | django/contrib/auth/__init__.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/django/contrib/auth/__init__.py b/django/contrib/auth/__init__.py index ed01da94cf..c3a1253564 100644 --- a/django/contrib/auth/__init__.py +++ b/django/contrib/auth/__init__.py @@ -138,15 +138,17 @@ def get_user(request): If no user is retrieved an instance of `AnonymousUser` is returned. """ from .models import AnonymousUser + user = None try: user_id = request.session[SESSION_KEY] backend_path = request.session[BACKEND_SESSION_KEY] - assert backend_path in settings.AUTHENTICATION_BACKENDS - backend = load_backend(backend_path) - user = backend.get_user(user_id) or AnonymousUser() - except (KeyError, AssertionError): - user = AnonymousUser() - return user + except KeyError: + pass + else: + if backend_path in settings.AUTHENTICATION_BACKENDS: + backend = load_backend(backend_path) + user = backend.get_user(user_id) + return user or AnonymousUser() def get_permission_codename(action, opts): |
