Example #1
0
def change_password(tokenid, user, oldpasswd, newpasswd, ip, port, realm=""):
    user        = user.encode('ascii','ignore')
    oldpasswd   = oldpasswd.encode('ascii','ignore')
    newpasswd   = newpasswd.encode('ascii','ignore')

    c = pycurl.Curl()
    content = StringIO.StringIO()
    if "" == realm:
        url = 'http://%s:%s/openam/json/users/%s?_action=changePassword' % (ip, port, user)
    else:
        url = 'http://%s:%s/openam/json/%s/users/%s?_action=changePassword' % (ip, port, realm, user)

    post_data_dict = {"currentpassword":oldpasswd,"userpassword":newpasswd}
    raws = RawSerialize()
    post_data_dict = raws.serialize(post_data_dict)
    c.setopt(pycurl.URL, url)
    c.setopt(pycurl.POST, 1)
    c.setopt(pycurl.POSTFIELDS, post_data_dict )
    c.setopt(pycurl.HTTPHEADER,['iplanetDirectoryPro: %s'%tokenid,'Content-Type: application/json'])
    c.setopt(pycurl.WRITEFUNCTION, content.write)
    c.setopt(pycurl.CONNECTTIMEOUT, 30)
    c.setopt(pycurl.TIMEOUT, 30)
    ret = ""
    try:
        ret = c.perform()
    except Exception,e:
        logger.info(e)
        c.close()
        return ""
Example #2
0
def verify_passwd(user, password, ip, port):
    user = user.encode('ascii', 'ignore')
    password = password.encode('ascii', 'ignore')
    realm_sep = '.'
    if realm_sep not in user:
        realm = "local"
    else:
        users = user.split(realm_sep)
        realm = users[0]
        users = users[1:]
        user = realm_sep.join(users)
    cont = authenticate(user, password, ip, port, realm)
    print cont
    #print user,password
    if 'tokenId' in cont:
        raws = RawSerialize()
        obj = raws.unserialize(cont)
        tokenid = obj['tokenId']
        tokenid = tokenid.encode('ascii', 'ignore')
        cont = logout(tokenid, ip, port, realm)
        print cont
        return (True, '')

    if 'Invalid Password' in cont:
        return (False, 'InvalidPassword')
    elif 'Authentication Failed' in cont:
        return (False, 'InvalidCredentials')
    else:
        return (False, 'Invalid')
Example #3
0
def change_password(tokenid, user, oldpasswd, newpasswd, ip, port, realm=""):
    user = user.encode('ascii', 'ignore')
    oldpasswd = oldpasswd.encode('ascii', 'ignore')
    newpasswd = newpasswd.encode('ascii', 'ignore')

    c = pycurl.Curl()
    content = StringIO.StringIO()
    if "" == realm:
        url = 'http://%s:%s/openam/json/users/%s?_action=changePassword' % (
            ip, port, user)
    else:
        url = 'http://%s:%s/openam/json/%s/users/%s?_action=changePassword' % (
            ip, port, realm, user)

    post_data_dict = {"currentpassword": oldpasswd, "userpassword": newpasswd}
    raws = RawSerialize()
    post_data_dict = raws.serialize(post_data_dict)
    c.setopt(pycurl.URL, url)
    c.setopt(pycurl.POST, 1)
    c.setopt(pycurl.POSTFIELDS, post_data_dict)
    c.setopt(pycurl.HTTPHEADER, [
        'iplanetDirectoryPro: %s' % tokenid, 'Content-Type: application/json'
    ])
    c.setopt(pycurl.WRITEFUNCTION, content.write)
    c.setopt(pycurl.CONNECTTIMEOUT, 30)
    c.setopt(pycurl.TIMEOUT, 30)
    ret = ""
    try:
        ret = c.perform()
    except Exception, e:
        logger.info(e)
        c.close()
        return ""
Example #4
0
def change_passwd(user, oldpassword, newpassword, ip, port):
    user        = user.encode('ascii','ignore')
    realm_sep = '.'
    if realm_sep not in user:
        realm = "local"
    else:
        users = user.split(realm_sep)
        realm = users[0]
        users = users[1:]
        user  = realm_sep.join(users)

    oldpassword = oldpassword.encode('ascii','ignore')
    newpassword = newpassword.encode('ascii','ignore')
    cont = authenticate(user, oldpassword, ip, port, realm)
    print cont
    if 'tokenId' in cont:
        raws = RawSerialize()
        obj = raws.unserialize(cont)
        tokenid = obj['tokenId']
        tokenid = tokenid.encode('ascii', 'ignore')
        cont = change_password(tokenid, user, oldpassword, newpassword, ip, port,realm)
        print cont
        cont_logout = logout(tokenid, ip, port, realm)
        print cont_logout
        if '{}' == cont:
            return (True,"")

        obj = raws.unserialize(cont)
        return (False,obj['message'])

    raws = RawSerialize()
    obj = raws.unserialize(cont)
    return (False,obj['message'])
Example #5
0
def verify_passwd(user, password, ip, port):
    user     = user.encode('ascii','ignore')
    password = password.encode('ascii','ignore')
    realm_sep = '.'
    if realm_sep not in user:
        realm = "local"
    else:
        users = user.split(realm_sep)
        realm = users[0]
        users = users[1:]
        user  = realm_sep.join(users)
    cont = authenticate(user, password, ip, port, realm)
    print cont
    #print user,password
    if 'tokenId' in cont:
        raws = RawSerialize()
        obj = raws.unserialize(cont)
        tokenid = obj['tokenId']
        tokenid = tokenid.encode('ascii', 'ignore')
        cont = logout(tokenid, ip, port, realm)
        print cont
        return (True,'')

    if   'Invalid Password' in cont:
        return (False,'InvalidPassword')
    elif 'Authentication Failed' in cont:
        return (False,'InvalidCredentials')
    else:
        return (False,'Invalid')
Example #6
0
def change_passwd(user, oldpassword, newpassword, ip, port):
    user = user.encode('ascii', 'ignore')
    realm_sep = '.'
    if realm_sep not in user:
        realm = "local"
    else:
        users = user.split(realm_sep)
        realm = users[0]
        users = users[1:]
        user = realm_sep.join(users)

    oldpassword = oldpassword.encode('ascii', 'ignore')
    newpassword = newpassword.encode('ascii', 'ignore')
    cont = authenticate(user, oldpassword, ip, port, realm)
    print cont
    if 'tokenId' in cont:
        raws = RawSerialize()
        obj = raws.unserialize(cont)
        tokenid = obj['tokenId']
        tokenid = tokenid.encode('ascii', 'ignore')
        cont = change_password(tokenid, user, oldpassword, newpassword, ip,
                               port, realm)
        print cont
        cont_logout = logout(tokenid, ip, port, realm)
        print cont_logout
        if '{}' == cont:
            return (True, "")

        obj = raws.unserialize(cont)
        return (False, obj['message'])

    raws = RawSerialize()
    obj = raws.unserialize(cont)
    return (False, obj['message'])
Example #7
0
def get_realm_user_list(realm, ip, port):
    err = False
    ret = []
    cont = authenticate('amAdmin', 'zx123456', ip, port)
    logger.info("authenticate:%s", cont)
    if 'tokenId' in cont:
        raws = RawSerialize()
        obj = raws.unserialize(cont)
        tokenid = obj['tokenId']
        tokenid = tokenid.encode('ascii', 'ignore')
        cont = get_user_list(tokenid, ip, port, realm)
        logger.info("realm:%s,get_user_list:%s", realm, cont)
        obj = raws.unserialize(cont)
        if 'result' in obj:
            ret = obj['result']
            err = True
        cont = logout(tokenid, ip, port)
        logger.info("logout:%s", cont)

    return (err, ret)
Example #8
0
def get_realm_user_list(realm, ip, port):
    err = False
    ret = []
    cont = authenticate('amAdmin', 'zx123456', ip, port)
    logger.info("authenticate:%s", cont)
    if 'tokenId' in cont:
        raws = RawSerialize()
        obj = raws.unserialize(cont)
        tokenid = obj['tokenId']
        tokenid = tokenid.encode('ascii', 'ignore')
        cont = get_user_list(tokenid, ip, port, realm)
        logger.info("realm:%s,get_user_list:%s", realm, cont)
        obj  = raws.unserialize(cont)
        if 'result' in obj:
            ret  = obj['result']
            err  = True
        cont = logout(tokenid, ip, port)
        logger.info("logout:%s", cont)

    return (err,ret)