Exemplo n.º 1
0
def password_change(request):
    msg = ''
    pw_form = LDAPPasswordChangeForm(request.POST or None)

    if request.POST and pw_form.is_valid():
        new_pass = pw_form.cleaned_data['new_password']
        old_pass = pw_form.cleaned_data['old_password']
        if new_pass == pw_form.cleaned_data['new_password_confirm']:
            msg = 'Password successfuly set.'
            try:
                l = ldap.initialize(settings.LDAP_SERVER)
                dn = 'uid=%s,ou=people,dc=kiberpipa,dc=org' % request.user.username
                l.simple_bind_s(dn, old_pass)
                l.passwd_s(dn, old_pass, new_pass)
            except ldap.CONSTRAINT_VIOLATION, e:
                msg = e[0]['info']
            except ldap.INVALID_CREDENTIALS:
                msg = 'Sorry, wrong password'
Exemplo n.º 2
0
def password_change(request):
    msg = ''
    pw_form = LDAPPasswordChangeForm()

    if request.method == 'POST':
        pw_form = LDAPPasswordChangeForm(request.POST)

        if pw_form.is_valid():
            if pw_form.cleaned_data['new_password'] == pw_form.cleaned_data['new_password_confirm']:
                msg = 'Password successfuly set.'
                try:
                    l = ldap.initialize(settings.LDAP_SERVER)
                    dn = 'uid=%s,ou=people,dc=kiberpipa,dc=org' % request.user.username
                    l.simple_bind_s(dn, pw_form.cleaned_data['old_password'])
                    l.passwd_s(dn, pw_form.cleaned_data['old_password'], pw_form.cleaned_data['new_password'])
                except ldap.SERVER_DOWN:
                    msg = 'LDAP server seems to be unavailable. Better luck next time. OH, and do notify the admins!'
                except ldap.CONSTRAINT_VIOLATION, e:
                    msg = e[0]['info']
                except ldap.INVALID_CREDENTIALS:
                    msg = 'Sorry, wrong password.'
            else:
                msg = 'Sorry, new password doesn not match the confirm.'