Как Добавить пользователя в ldap с помощью PHP
Хай,
Мне нужно добавить пользователя на сервер Ldap с помощью php.
я получил ошибку № 16
Что я уже пробовал:
<?php $AD_server = "192.168.1.55"; $ds = ldap_connect($AD_server); if ($ds) { ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); // IMPORTANT $result = ldap_bind($ds, "cn=admin,dc=sw,dc=com","jpqw$"); //BIND if (!$result) { echo 'Not Binded'; } $ldaprecord['objectclass'][0] = "inetorgperson"; $ldaprecord['objectclass'][1] = "posixaccount"; $ldaprecord['objectclass'][2] = "top"; $ldaprecord['cn'] = 'netbeans'; $ldaprecord['givenname'] = 'netbeans1'; $ldaprecord['sn'] = 'netbeans2'; $ldaprecord['mail'] = 'emai@gmail.com'; $ldaprecord['mobile'] = '+91 1234567890'; $ldaprecord['uid'] = 'nb'; $ldaprecord['displayname'] = 'netbeans'; $ldaprecord['uidnumber'] = '1005'; $ldaprecord['gidnumber'] = '501'; $ldaprecord['userpassword'] = "{crypt}123456"; $ldaprecord['gecos'] = 'netbeans'; $ldaprecord['loginshell'] = '/bin/sh'; $ldaprecord['homedirectory'] = '/home/users/nb'; $ldaprecord['shadowexpire'] = '-1'; $ldaprecord['shadowflag'] = '0'; $ldaprecord['shadowwarning'] = '7'; $ldaprecord['shadowmin'] = '8'; $ldaprecord['shadowmax'] = '999999'; $ldaprecord['shadowlastchange'] = '10877'; $ldaprecord['postalcode'] = '31000'; $ldaprecord['l'] = 'toulouse'; $ldaprecord['o'] = 'example'; $ldaprecord['homephone'] = '+33 (0)40 35963258'; $ldaprecord['title'] = 'system administrator'; $ldaprecord['postaladdress'] = ''; $ldaprecord['initials'] = 'jd'; // $ldaprecord["cn"] = "testuser"; // $ldaprecord["givenname"] = "Test"; // $ldaprecord["sn"] = "User"; // $ldaprecord["sAMAccountName"] = "testuser"; // $ldaprecord['userPrincipalName'] = "testuser@rndsw.com"; // $ldaprecord["objectClass"] = "user"; // $ldaprecord["displayname"] = "Test User"; // $ldaprecord["userPassword"] = "Password01"; // $ldaprecord["userAccountControl"] = "544"; $base_dn = "cn=netbeans,cn=HR,ou=cbe,dc=sw,dc=com"; $r = ldap_add($ds, $base_dn, $ldaprecord); if ($r) { echo 'Success'; } else { echo ldap_errno($ds) ; } } else { echo "cannot connect to LDAP server at $AD_server."; } ?>
Jochen Arndt
Не Шур, если это поможет, но вы должны попробовать.
Не устанавливайте пустые атрибуты:
//$ldaprecord ['postaladdress'] = ";
Nataraj Pandiyan
Ваше Право и спасибо вам
Jochen Arndt
Приятно слышать, что это было решение.
Я опубликую один из них, чтобы на этот вопрос был ответ.