如上圖所示,一共四個文件,分為兩部分,其中:
(1)ClientSocket.php和ClientTest.exe,是客戶端軟件,模擬賬號同步命令的發送,用於測試服務。前台調用方式請參考文件ClientSocket.php裡的函數;
(2)ServicInstall.msi和setup.exe是賬號同步軟件的安裝文件
請確保本地配置好了ODBC源,數據源名稱為“audit”,數據庫名為“audit_sec”,如果已經配置好,則可跳過此步:
將文件夾“Freesvr”復制到C盤,進入該文件夾,直接雙擊“setup.exe文件即可”
注:雙擊setup.exe會自動檢查依賴庫,有可能會提示安裝.net4.0 client profile簡體中文語言包,安裝即可。
安裝好後,打開本地服務,可以看到名稱為“AccountsSyncService”的服務,請重啟該服務器,以確保程序可用,如果如下圖所示
重啟服務:
雙擊文件夾中的“ClientText.exe”文件,如下圖所示:
程序一共可以處理四種命令:
? 命令一:掃描全表,同步賬號;命令格式:async
(1) 成功,返回字符串:"1,已成功同步數據庫的所有賬號到本地!"
(2) 失敗,返回字符串:"0,同步數據庫的所有賬號到本地失敗!"
? 命令二:添加指定的賬號;命令格式:async
(1) 成功,返回字符串:"1,添加賬號成功!"
(2) 失敗,返回字符串:"0,添加賬號失敗!"
? 命令三:禁用指定的賬號;命令格式:async
(1) 成功,返回字符串:"1,禁用賬號成功!"
(2) 失敗,返回字符串:"0,禁用賬號失敗!"
? 命令四:生成BHO配置文件;令格式:async
(1) 成功:返回字符串:"1,生成BHO配置文件成功,文件所在目錄:"
(2) 失敗:返回字符串:"0,生成BHO配置文件失敗!"
注:返回的字符串中,有返回碼0和1代表執行失敗和成功,以及對應的信息,二者用逗號隔開。
(1) 我們先測試命令2:添加用戶
輸入命令: async 10.11.0.59 8888 adminTest 1
命令說明:一共五個參數,各個參數用空格隔開,10.11.0.59為安裝同步服務的主機IP,默認端口是8888,如果配置文件中配置了端口,則用配置文件中的端口!
該命令會自動在本地添加賬號,但是會先查詢數據庫中該賬號是否存在,以及獲取該賬號的密碼;如果獲取失敗,則不添加;獲取成功後,若本地沒有該賬號則添加,如果有則重新啟用,並將密碼修改會數據庫中的密碼。
由於數據庫中並不存在賬號,adminTest,所以結果如上。
(2) 我們再測試命令1:掃描數據庫全表,同步本地賬號
輸入命令: async 10.11.0.59 8888
同步方式:數據庫中有,本地沒有,則新建;數據庫沒有,本地有則禁用;數據庫中有,本地也有,則修改默認密碼。
執行命令前,本地的賬號和分組如下:
執行命令後:
會發現自動多了數據庫中的賬號(為了簡單測試下,我只從數據庫中讀了兩條記錄),其余賬號均被禁用。
多了一個組freesvr:
同時會把賬號添加到遠程登錄的組中
(3) 我們再測試命令3
輸入命令:async 10.11.0.59 8888 admin 2
禁用掉用戶“admin”;結果如下:
發現amdin賬號已經被禁用(那個紅色的叉會不會立即顯示,需要刷新下才能看到,不過直接看amdin屬性發現已經被禁用);
(4) 我們再測試命令2,添加賬號admin
輸入命令:async 10.11.0.59 8888 admin 1
因為數據庫中,已經有該賬號,所以判斷本地是否有該賬號,如果沒有則新建;如果有,判斷是否被禁用,如果被禁用則重新啟用,否則只修改密碼。
因為本地已經有了,所以則會重新啟用,然後修改密碼。
可以發現admin賬號被重新啟用。
(5) 測試命令4
輸入命令:async 10.11.0.59 8888 3
執行完同步命令後會自動同步bho.xml文件,文件默目錄是“C:\ Freesvr\BHO”,如果配置文件中進行了配置,則會使用配置文件中的目錄,需要注意的是,該目錄的配置與應用程序發布中BHO文件夾中配置文件的目錄要相同,這樣BHO鉤子才能讀取到文件:
該php文件裡,只有一個函數,用於向服務器端發送賬號同步的請求,如下圖所示,詳細代碼請參考文件:
這裡簡單展示一下測試結果:
(1) 首先測試命令2,
執行如下函數:
命令2是添加指定用戶,執行結果:
如果命令2換成
執行結果:由於數據庫中不含有該賬號,因此添加失敗。
(2) 測試命令3:
執行如下函數
執行結果:
賬號禁用成功!
命令1這裡就不在測試,前面已經用“ClientText.exe”測試過了。
賬號同步服務程序的默認安裝目錄是:
“C:\Program Files\Freesvr\AccountsSyncService”
如果修改了配置文件,重新啟動服務後才能生效,配置文件內容如下:第一個是默認密碼的開關,取值有兩個:“ON”代表采用默認密碼,“OFF”代表采用數據庫中的密碼