2015-06-30 5 views
1

Я разрабатываю сайт с django/django-cms и хотел бы расширить вход в панель инструментов с помощью другой пользовательской проверки (LDAP). Проблема в том, что я не совсем уверен, как продлить проверку этой формы. Я нашел в пакете Джанго-К, файл toolbar.pyРасширение панели инструментов django-cms login

class CMSToolbarLoginForm(AuthenticationForm): 
    username = forms.CharField(label=_("Username"), max_length=100) 

    def __init__(self, *args, **kwargs): 
     kwargs['prefix'] = kwargs.get('prefix', 'cms') 
     super(CMSToolbarLoginForm, self).__init__(*args, **kwargs) 

Насколько я понимаю, эта форма расширяет AuthenticationForm от Джанго и добавляет свое собственное настраиваемое поле имени пользователя. Это верно?

Также как я могу получить эту форму для перенаправления на другой вид при сбое? Например, если пользователь находится в формате db и user/pass match, а затем войдите в систему, но если пользователь не перенаправляет db на другой вид, поэтому я мог бы получить пользователя из моего каталога ldap?

ответ

0

Как правило, вам необходимо включить пользовательский интерфейс входа в систему, который будет выполнять аутентификацию. Нет необходимости переписывать какую-либо форму.

Вы можете использовать django-auth-ldap и добавьте в настройках:

AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend', 
    'django.contrib.auth.backends.ModelBackend', 
) 

Вы можете видеть больше на сайте: https://pythonhosted.org/django-auth-ldap/install.html

Смежные вопросы