예제 #1
0
def ldap_login(username, password, remember=False):
    if DEBUG and not USE_LDAP:
        try:
            user = User.objects.get(username=username)
            user.admin = True
        except:
            user = User(username=username, name=username, admin=True,
                        active=True, email='*****@*****.**').save()
            warning = 'User did not exist, admin user created.'
            flash(warning)
        login_user(user, remember=remember)
        return True

    data = ldap_authenticate(username, password)
    if data:
        try:
            user = User.objects.get(username=username)
        except:
            user = User(username=username)
        user.name = str(data[0]['cn'])
        if data[0]['mail']:
            user.email = str(data[0]['mail'])
        else:
            print('A user has no mail entry in LDAP!')
        user.active = True
        user.save()
        login_user(user, remember=remember)
        return True
    else:
        return False
예제 #2
0
def ldap_login(username, password, remember=False):
    if config.DEBUG and not config.USE_LDAP:
        try:
            user = User.objects.get(username=username)
            user.admin = True
        except:
            user = User(username=username,
                        name=username,
                        admin=True,
                        active=True,
                        email='*****@*****.**').save()
            warning = 'User did not exist, admin user created.'
            flash(warning)
        login_user(user, remember=remember)
        return True

    if username == 'guest':
        return False

    try:
        user_dn = get_user_dn(username)
    except IndexError:
        # search didnt return anything
        return False

    data = ldap_authenticate(user_dn, username, password)
    if data:
        username = data[0]['uid'][0]
        try:
            user = User.objects.get(username=username)
        except Exception as e:
            user = User(username=username)
        user.name = str(data[0]['cn'])
        if data[0]['mail']:
            user.email = str(data[0]['mail'])
        else:
            print('A user has no mail entry in LDAP!')
        user.active = True
        user.save()
        login_user(user, remember=remember)
        return True
    else:
        return False