◆常旭 侯春雷
(北京計算機技術及應用研究所 北京 100854)
本文所要解決的技術問題在于提供一種基于第三方Key的Samba身份認證方法,以便解決Samba只支持用戶名和口令的認證方式,以及由此引起的安全隱患問題。
為實現上述目的,本文提供了一種基于第三方Key的Samba身份認證方法,包括:Web認證代理模塊、后臺服務模塊以及第三方USBKey設備。
Web認證代理程序為本文的核心內容,它起到連接第三方USBKey設備和對Samba進行認證的作用。
Web認證代理程序安裝在客戶端,這里的客戶端為PC桌面設備。Web認證代理程序工作流程如下:它會啟動一個主線程,主線程會打開已經存儲在配置文件中配置好的端口。主線程會一直監聽該端口,只要有客戶端的連接請求到來,它就用“連接處理”函數去處理連接請求?!斑B接處理”函數會進行一些預判,來決定是否允許該連接,主要拒絕因素是判定連接請求是否來自本客戶端。如果允許,則調用“請求隊列”函數并把處理工作交給它,“請求隊列”函數也會進行預判,判斷連接隊列是否已滿,如果滿了就等待直到有位置容納請求,如果沒有空閑進程且進程數量沒有達到最大閾值,就會啟動一個新的工作進程去處理客戶端的請求。
Web認證代理程序可以被嵌入到任意的上層應用里(客戶端軟件或Web應用服務)里,Web認證代理程序與上層應用間交互數據承載協議為HTTP,驗證結果通過JSON編碼返回給上層應用。Web認證代理程序對外提供GET和POST兩種調用方式?!?br>