麒麟開源堡壘機應用發佈功能代碼分析

1.代碼說明

麒麟開源堡壘機目前發佈的代碼共計分爲五個模塊,能夠在碼雲下下載,這二天我看了應用發佈部分的帳號同步代碼,進行簡單的分析以共參考。數據庫

賬號同步程序的作用是把數據庫的帳戶信息同步到發佈機的本地帳戶,它是一個後臺的服務程序,監聽一個端口,接收客戶端的請求。
程序處理來自客戶端的四種命令:函數

掃描全表,同步帳號;
添加指定的帳號;
禁用指定的帳號;
生成BHO配置文件;spa

其中掃描全表同步帳號最爲複雜,須要同時考慮數據庫中的帳號和本地的帳號;全部的同步基礎以數據庫中的帳號爲準,若是數據庫中有,可是本地沒有,那就在本地自動新建帳號;若是數據庫沒有,可是本地沒有,那就將本地的帳號禁用。具體的邏輯可參考代碼。線程

2.模塊分析

代碼主要分爲AccounsSyncService、AccountManagement二部分,其中AccounsSyncService爲監聽服務部分,負責監聽端口、接收命令和初始化數據庫鏈接等,AccountManagement爲後臺操做命令,用於對本地賬號的添加、刪除等操做。圖片

AccounsSyncService程序分析:
AccounsSyncService程序主要模塊和函數列表以下:同步

Config文件夾,配置文件
AccountsSyncService.cs,帳號同步的主程序:
啓動服務,開啓一個線程,監聽端口:StartService()、OnStart()、Listen()
接收帳號同步的命令,並執行帳號同步的四種操做:AccounsSync()
初始化數據庫鏈接:InitializeTables()
建立BHO頁面密碼填充的配置文件:CreateBhoLoginXml()it

AccountManagement程序分析:
AccountManagement相對其它模塊部分很是簡單,只包括一個頭文件和一個cpp程序,其中頭文件爲AccountManager.h,程序爲件爲AccountManager.cpp:包括添加帳號、刪除帳號、添加組、刪除組、禁用帳號、啓用帳號、修改密碼等操做class

3.模塊分析圖

根據上面的分析,能夠將代碼的模塊分析圖列出以下:
圖片描述後臺

相關文章
相關標籤/搜索