summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorDeric Crago <deric.crago@gmail.com>2013-03-18 16:58:33 -0700
committerPreston Holmes <preston@ptone.com>2013-03-18 17:11:07 -0700
commit9d6ecc6bc668b5a243905486fa724d53508ad2b5 (patch)
treecc9c1991c5594b305b7b2eb584d00c635d5edf24 /django
parent5180e40bee92edc4ef00d593a4609ff3a5295c90 (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.py4
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):