現在就可以使用LDAP中的用戶和密碼登錄了。
你第一次設置,肯定是不行的。
可以聯通LDAP後,那麼就要考慮什麼時候將LDAP中的所有用戶(或者你選擇某個分支)
導入到ITDB中來了。
打開itdb-1.22源代碼。
找到init.php的文件
打開。
拉到最下面,找到" ?>“
也就是代碼結束的位置。
在問號前一行插入下面代碼
////////////////////////////////////////////////////////////////////////////////
$dsn1=ldap_con nect("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(); //c r e a t e a random
db_execute2($dbh,
"IN S E R T into users (username,cookie1,usertype) values (:username,:cookie1,:usertype)",
array('username'=>$usrn1,'cookie1'=>$rnd,'usertype'=>2));//這個usertype就是創建用戶所賦予的權限
db_exec($dbh,"U P D A T E users s e t cookie1='$rnd' where username='$usrn1'",1,1);
}
}
////////////////////////////////////////////////////////////
這段代碼的意義在於,只要打開ITDB的頁面,就會更新LDAP中的u=People,dc=bawo,dc=cn用戶到ITDB的數據庫中來。 無論登錄的成功與否,都會更新。