8000 Do not let non-staff users to log in via CMS Toolbar (#6705) · FinalAngel/django-cms@88098dc · GitHub
[go: up one dir, main page]

Skip to content

Commit 88098dc

Browse files
beastmanFinalAngel
authored andcommitted
Do not let non-staff users to log in via CMS Toolbar (django-cms#6705)
1 parent cb56e87 commit 88098dc

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

cms/forms/login.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from django import forms
2-
from django.contrib.auth.forms import AuthenticationForm
2+
from django.contrib.admin.forms import AdminAuthenticationForm
33

44

5-
class CMSToolbarLoginForm(AuthenticationForm):
5+
class CMSToolbarLoginForm(AdminAuthenticationForm):
66

77
def __init__(self, *args, **kwargs):
88
super(CMSToolbarLoginForm, self).__init__(*args, **kwargs)

cms/tests/test_toolbar.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,15 @@ def test_toolbar_login(self):
187187
self.assertRedirects(response, '/en/admin/')
188188
self.assertTrue(settings.SESSION_COOKIE_NAME in response.cookies)
189189

190+
def test_toolbar_login_non_staff(self):
191+
admin = self.get_nonstaff()
192+
endpoint = reverse('cms_login') + '?next=/en/admin/'
193+
username = getattr(admin, get_user_model().USERNAME_FIELD)
194+
password = getattr(admin, get_user_model().USERNAME_FIELD)
195+
response = self.client.post(endpoint, data={'username': username, 'password': password})
196+
self.assertRedirects(response, '/en/admin/?cms_toolbar_login_error=1', target_status_code=302)
197+
self.assertFalse(settings.SESSION_COOKIE_NAME in response.cookies)
198+
190199
def test_toolbar_login_error(self):
191200
admin = self.get_superuser()
192201
endpoint = reverse('cms_login') + '?next=/en/admin/'

0 commit comments

Comments
 (0)
0