zoukankan      html  css  js  c++  java
  • php ldap添加与修改

    /**
     * ldap 备份
     * @param int $cardid    
     * @param string $username 
     * @param string $password 未加密密码
     * @return null
     */
    function ldapBack($cardid,$username,$password){
        $connect = ldap_connect(LDAP_HOST,LDAP_PORT);
        if(!$connect){
            $log = Logger::getLogger();
            $log->fatal('备份LDAP连接失败!');
        }
        ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
        @$back_bind = ldap_bind($connect, LDAP_ADMIN_USER, LDAP_ADMIN_PW); 
        
        $add_entry = array();
        $add_entry['objectclass'][] = 'top';
        $add_entry['objectclass'][] = 'person';
        $add_entry['objectclass'][] = 'inetOrgPerson';
        $add_entry['cn'] = $username;
        $add_entry['uid'] = $cardid;
        $add_entry['sn'] = $username;
        $add_entry['userpassword'] = "{MD5}".base64_encode(md5($password,true));
        $dn = "uid={$cardid},ou=people,dc=buct,dc=edu,dc=cn";
        
        //查询ldap中是否已经存在相应数据
        $base_dn = "DC=buct,DC=edu,DC=cn";
        $filter = "(uid=$cardid)";
        $read = ldap_search($connect, $base_dn, $filter);
        $info = ldap_get_entries($connect, $read);
        
        if(empty($info['count']))
        {//不存在数据,使用添加方法添加数据
            $boo = ldap_add($connect,$dn,$add_entry);
        }else
        {//数据已经存在,使用编辑方法修改数据
            $boo = ldap_modify($connect,$dn,$add_entry);
        }
        //$boo = ldap_modify($connect,$dn,$add_entry);
        
        ldap_close($connect);
        $_data = array();
        $_data['cardid'] = $info[0]['uid'][0];
        $_data['name'] = $info[0]['sn'][0];
        return $_data;
    }
  • 相关阅读:
    httpclient 5.0 设置超时时间
    httpclient raw请求
    使用EasyUI-datagrid-export.js导出Excel,不导出隐藏列
    ExpressSet 虚拟适配器
    中断模式队列
    autohotkey 线程入门
    读rbtree
    树莓派串口
    MCP3421使用详解
    PMOS开关电路
  • 原文地址:https://www.cnblogs.com/ccdc/p/2749318.html
Copyright © 2011-2022 走看看