//////////////////////////////////////////////////////////////////////////////// $dsn1=ldap_connect("192.168.1.16");//連接到ldap服務器 $srn1 = ldap_search($dsn1,"ou=People,dc=bawo,dc=cn","(cn=*)");//查詢ou=People,dc=bawo,dc=cn下的cn打頭的結果,返回到srn1 $infon1 = ldap_get_entries($dsn1, $srn1); //獲得srn1中條目的個數,保存在infon1這個數組中 for ($i = 1; $i < $infon1["count"]; $i++)//開始循環加入到ITDB的數據庫 //for ($i = 0; $i < 3; $i++)//這個是用來做測試的,只取0,1,2前三個用戶加入系統,利於刪除 { $usrn1=trim(strtolower($infon1[$i]["cn"][0]));//用戶名變成小寫,然後打斷 $u=0; $u=getuserbyname($usrn1);//getuserbuname用來檢查用戶名在ITDB數據庫中是否存在,如果不存在,返回-1,如果存在則返回$u。 if ($u==-1){ $rnd=mt_rand(); //create a random db_execute2($dbh, "INSERT into users (username,cookie1,usertype) values (:username,:cookie1,:usertype)", array('username'=>$usrn1,'cookie1'=>$rnd,'usertype'=>2));//這個usertype就是創建用戶所賦予的權限 db_exec($dbh,"UPDATE users set cookie1='$rnd' where username='$usrn1'",1,1); } } ////////////////////////////////////////////////////////////
這段代碼的意義在於,只要打開ITDB的頁面,就會更新LDAP中的u=People,dc=bawo,dc=cn用戶到ITDB的數據庫中來。 無論登錄的成功與否,都會更新。