コード例 #1
0
ファイル: openam.py プロジェクト: Svolcano/python_exercise
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 ""
コード例 #2
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 ""