diff options
| author | Deric Crago <deric.crago@gmail.com> | 2013-03-18 16:58:33 -0700 |
|---|---|---|
| committer | Preston Holmes <preston@ptone.com> | 2013-03-18 17:11:07 -0700 |
| commit | 9d6ecc6bc668b5a243905486fa724d53508ad2b5 (patch) | |
| tree | cc9c1991c5594b305b7b2eb584d00c635d5edf24 /django | |
| parent | 5180e40bee92edc4ef00d593a4609ff3a5295c90 (diff) | |
Fixed #19327 -- Added handling of double login attempts in admin.
Thanks to Krzysztof Jurewicz for initial patch and
adupin for tests.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/sites.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index 07d1ec7804..8345543707 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -2,7 +2,7 @@ from functools import update_wrapper from django.http import Http404, HttpResponseRedirect from django.contrib.admin import ModelAdmin, actions from django.contrib.admin.forms import AdminAuthenticationForm -from django.contrib.auth import REDIRECT_FIELD_NAME +from django.contrib.auth import logout as auth_logout, REDIRECT_FIELD_NAME from django.contrib.contenttypes import views as contenttype_views from django.views.decorators.csrf import csrf_protect from django.db.models.base import ModelBase @@ -193,6 +193,8 @@ class AdminSite(object): cacheable=True. """ def inner(request, *args, **kwargs): + if LOGIN_FORM_KEY in request.POST and request.user.is_authenticated(): + auth_logout(request) if not self.has_permission(request): if request.path == reverse('admin:logout', current_app=self.name): |
