|
|
|
สอบถามการ adduser ของ LDAP ค่ะ ติดปัญหาว่า add unicodePwd ไม่ได้ค่ะ รบกวนท่านผู้รู้ช่วยด้วยค่ะ ด่วนมากเลย |
|
|
|
|
|
|
|
<?php
function convertPwd($newPassword)
{
// prepare data
$newPassword = "\"" . $newPassword . "\"";
$len = strlen($newPassword);
for ($i = 0; $i < $len; $i++) {
$newPassw .= "{$newPassword{$i}}\000";
}
$newPassword = $newPassw;
return $newPassword;
}
## From form
$CN = "bananatestccccsss";
$givenName = "bananaxxsss Gt";
$SN = "Mungkornthongt";
$mail = "[email protected]";
$pwdtxt = "ddccee88";
$AD_server = "192.168.11.11"; // Local Stunnel --> http://www.stunnel.org/
$AD_Auth_User = "[email protected]"; //Administrative user
$AD_Auth_PWD = "pass@123"; //The password
$dn = 'CN='.$CN.',OU=uit,DC=rajavithi,DC=go,DC=th';
//echo mb_convert_encoding($pwdtxt,'ASCII', 'WIN874');;
## CONNNECT TO AD
$ds = ldap_connect($AD_server);
if ($ds) {
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); // IMPORTANT
$r = ldap_bind($ds, $AD_Auth_User, $AD_Auth_PWD); //BIND
$ldaprecord['cn'] = $CN;
$ldaprecord['givenName'] = $givenName;
$ldaprecord['sn'] = $SN;
$ldaprecord['objectclass'][0] = "top";
$ldaprecord['objectclass'][1] = "person";
$ldaprecord['objectclass'][2] = "organizationalPerson";
$ldaprecord['objectclass'][3] = "user";
$ldaprecord['mail'] = $mail;
$tmppwd =convertPwd($pwdtxt);
$ldaprecord["unicodePwd"] = $tmppwd;
$ldaprecord["sAMAccountName"] = $CN;
$ldaprecord["physicaldeliveryofficename"] = "โรงพยาบาล";
$r = ldap_add($ds, $dn, $ldaprecord);
if($r){
echo "addcomplete";
}else{
echo"----";
}
} else {
echo "cannot connect to LDAP server at $AD_server.";
}
?>
ตามโค้ดด้านบน ลองรันดูแล้ว ถ้า add ข้อมูลตัวอื่นได้หมด ยกเว้น unicodePwd เลยไม่เข้าใจว่า เราจะต้องทำยังไงต่อไป เพราะว่า ติดที่ตัวนี้ตัวเดียว หรือว่าที่ server จะต้อง set อะไรเพิ่มเติมหรือไม่ หรือว่า code ของเราผิดตรงไหน อย่างไร
Tag : PHP
|
|
|
|
|
|
Date :
2010-09-08 15:43:31 |
By :
bananaiii |
View :
1194 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|