Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ldap_mod_add或ldap_add不用于在ldap服务器中添加新帐户_Php_Server_Ldap - Fatal编程技术网

Php ldap_mod_add或ldap_add不用于在ldap服务器中添加新帐户

Php ldap_mod_add或ldap_add不用于在ldap服务器中添加新帐户,php,server,ldap,Php,Server,Ldap,有人知道用php脚本在LDAP服务器中添加新帐户吗? 如果我在google中搜索,答案总是这个函数ldap\u add或ldap\u mod\u add,但是我知道这个函数只是添加了像ldap\u mod\u add这样的属性。我只是搜索php函数,而不是ad2ldap或两者 有人知道如何在LDAP服务器中添加新帐户吗 这是我的代码: /** * new release */ public static function addNewAccountWithauthForAdmin($user,

有人知道用php脚本在LDAP服务器中添加新帐户吗? 如果我在google中搜索,答案总是这个函数ldap\u add或ldap\u mod\u add,但是我知道这个函数只是添加了像ldap\u mod\u add这样的属性。我只是搜索php函数,而不是ad2ldap或两者

有人知道如何在LDAP服务器中添加新帐户吗

这是我的代码:

/**
* new release
*/

public static function addNewAccountWithauthForAdmin($user,$attributes=array(),$attributes_val=array(),$user_auth,$password_auth){
    $userdata = array();
    $userdn = "CN=".$user.",OU=USERS,OU=CORP,DC=domain,DC=corp"; print $userdn;
    $user_auth = self::userDomainName($user_auth);
    $password_auth = base64_decode($password_auth);
    $is_arrayaction = (is_array($attributes) AND is_array($attributes_val)) AND (count($attributes) == count($attributes_val)) ? true : false;
    if($is_arrayaction){
        $action = array();
        for($i=0;$i<count($attributes);$i++){
            $userdata[$attributes[$i]] = $attributes_val[$i];   
            // Output $userdata : {"ipphone":"1825","mail":"nomail@mail.com"}
        }
        $action[$i] = ldap_mod_add(self::authForChangeAttr($user_auth,$password_auth),$userdn,$userdata);
        return $action;
    }

    $userdata[$attributes] = $attributes_val;
    // Output $userdata : {"ipphone":"1825"}
    $action = ldap_mod_add(self::authForChangeAttr($user_auth,$password_auth),$userdn,$userdata) ? true : false;

    return $action;
}
/**
*新版本
*/
公共静态函数addNewAccountWithauthForAdmin($user,$attributes=array(),$attributes\u val=array(),$user\u auth,$password\u auth){
$userdata=array();
$userdn=“CN=”.$user.”,OU=USERS,OU=CORP,DC=domain,DC=CORP”;打印$userdn;
$user\u auth=self::userDomainName($user\u auth);
$password\u auth=base64\u decode($password\u auth);
$is_arrayaction=(is_array($attributes)和is_array($attributes_val))和(count($attributes)==count($attributes_val))?true:false;
如果($is_arrayaAction){
$action=array();
对于($i=0;$i
  • ldap\u mod\u add
    允许您向已存在的条目添加属性
  • ldap\u add
    允许您向目录添加条目
ldap\u add
需要3个参数:

  • link\u identifier
    :ldap\u connect
功能的结果
  • dn
    :要添加的条目的dn
  • entry
    :表示条目的数组。它需要具有所有属性才能执行
    ldapadd
    操作(以LDAP方式),即,您必须设置:

    • 所需的对象类

      ["objectClass"]=["Top","person","organizationalPerson","user"];
      
    • ObjectClass指定的强制属性

      有关objectClass用户,请参见以下内容:


  • 你也可以在这里找到一个示例代码:

    试试这样的东西-对我有用

                $ds = ldap_connect("ldaps://example.org");
                if ($ds) {
                    $r = ldap_bind($ds, "userAdmin", "adminPSW");
                    $dn = 'CN=username,CN=Users,DC=example,DC=org';
                    $pwdtxt="password";
                    ## Create Unicode password
                    $newPassword = "\"" . $pwdtxt . "\"";
                    $len = strlen($newPassword);
                    $newPassw = "";
                    for($i=0;$i<$len;$i++) {
                        $newPassw .= "{$newPassword{$i}}\000";
                    }
                    $ldaprecord['cn'] = "username";
                    $ldaprecord['mail'] = "mail@example.org";
                    $ldaprecord['ipphone'] = "0123456789";
                    ldap_add($ds, $dn, $ldaprecord);
                    $encodedPass = array('unicodepwd' => $newPassw);
                    ldap_mod_replace ($ds, $dn, $encodedPass);
                }
                $res = ldap_error ($ds);
                if( $res=="Success"){
                ##Success
                }
                ldap_close($ds);
    
    $ds=ldap\u连接(“ldaps://example.org");
    若有($ds){
    $r=ldap_-bind($ds,“userAdmin”,“adminPSW”);
    $dn='CN=username,CN=Users,DC=example,DC=org';
    $pwdtxt=“密码”;
    ##创建Unicode密码
    $newPassword=“\”.$pwdtxt.\”;
    $len=strlen($newPassword);
    $newPassw=“”;
    对于($i=0;$i$newPassw);
    ldap_mod_replace($ds、$dn、$encodedPass);
    }
    $res=ldap_错误($ds);
    如果($res==“成功”){
    ##成功
    }
    ldap_close($ds);