【文章內(nèi)容簡介】
..........361 總體 應(yīng)用背景現(xiàn)代企業(yè)的信息建設(shè)化越來越完善,各種電子郵件系統(tǒng)、網(wǎng)絡(luò)辦公、電子財(cái)務(wù)、人事管理、針對特定行業(yè)的業(yè)務(wù)系統(tǒng)的信息網(wǎng)絡(luò)化等進(jìn)入了千百個企業(yè)。而企業(yè)業(yè)務(wù)正常運(yùn)營時(shí),企業(yè)用戶需要同時(shí)訪問多個業(yè)務(wù)系統(tǒng),并經(jīng)常瀏覽企業(yè)內(nèi)部網(wǎng)絡(luò)中的相關(guān)信息資源。由于用戶在訪問不同業(yè)務(wù)系統(tǒng)時(shí)需要獨(dú)立訪問業(yè)務(wù)系統(tǒng);同時(shí),用戶需要在各系統(tǒng)間頻繁地切換,操作較復(fù)雜,無法快速地獲得相關(guān)業(yè)務(wù)信息并加以分析利用,此外,用戶在進(jìn)行業(yè)務(wù)操作時(shí),需要分別登錄到不同的應(yīng)用系統(tǒng)中,由于系統(tǒng)較多,用戶帳號或密碼遺忘現(xiàn)象時(shí)有發(fā)生,或者一套簡單用戶名和密碼多系統(tǒng)使用,造成保密度降低等問題;而在安全性和系統(tǒng)管理方面,企業(yè)需要大量的 IT 技術(shù)管理人員,分別管理和維護(hù)不同系統(tǒng)(如:ERP、系統(tǒng)分析、OA、財(cái)務(wù)、Notes 系統(tǒng)等)的用戶信息。需要建立可靠、安全、保密的業(yè)務(wù)系統(tǒng)網(wǎng)絡(luò)環(huán)境,保證企業(yè)業(yè)務(wù)系統(tǒng)網(wǎng)絡(luò)環(huán)境,保證企業(yè)業(yè)務(wù)不受破壞和干擾。針對這種情況,企業(yè)希望通過實(shí)施建立企業(yè)級的統(tǒng)一身份認(rèn)證系統(tǒng),為企業(yè)用戶提供統(tǒng)一的信息資源認(rèn)證訪問入口,建立統(tǒng)一的、基于角色的和個性化的信息訪問、集成平臺;通過實(shí)施統(tǒng)一身份認(rèn)證、單點(diǎn)登錄功能,提高信息系統(tǒng)的易用性、安全性、穩(wěn)定性;在此基礎(chǔ)上進(jìn)一步實(shí)現(xiàn)企業(yè)用戶告訴協(xié)同辦公和企業(yè)知識管理功能。企業(yè)的各個業(yè)務(wù)系統(tǒng)大都采用異構(gòu)系統(tǒng)(在不同平臺上建立不同應(yīng)用服務(wù)器的業(yè)務(wù)系統(tǒng))。因此,在確保業(yè)務(wù)系統(tǒng)獨(dú)立運(yùn)行的前提下,要解決統(tǒng)一認(rèn)證、單點(diǎn)登錄、安全防護(hù)和信息保密的問題,需要滿足如下需求:? 對多個系統(tǒng)實(shí)現(xiàn)統(tǒng)一身份認(rèn)證功能的需求? 業(yè)務(wù)系統(tǒng)可以在不同的硬件架構(gòu)中的需求? 業(yè)務(wù)系統(tǒng)可以為異構(gòu)系統(tǒng),其運(yùn)行的操作系統(tǒng)平臺和應(yīng)用服務(wù)器可以各不相同,客戶端可以使用不同的瀏覽器的需求? 用戶單點(diǎn)登錄時(shí)滿足用戶名/口令,用戶名/指紋,證書認(rèn)證,還能實(shí)現(xiàn)少數(shù)用戶通過 USB KEY 等硬件認(rèn)證的需求? 最少改動現(xiàn)有的應(yīng)用模式和業(yè)務(wù)系統(tǒng)的需求? 對后續(xù)的業(yè)務(wù)系統(tǒng)擴(kuò)充和擴(kuò)展有良好的兼容性的需求 UIAS 系統(tǒng)體系架構(gòu)基于 UIAS Server 的統(tǒng)一身份認(rèn)證系統(tǒng)的在企業(yè) IT 架構(gòu)中的位置和其他企業(yè)應(yīng)用系統(tǒng)的關(guān)系如圖所示:統(tǒng)一身份認(rèn)證系統(tǒng)( U I A S S e r v e r )辦公系統(tǒng) 財(cái)務(wù)系統(tǒng) 運(yùn)行管理系統(tǒng) 倉庫管理系統(tǒng)用戶圖一 UIAS 系統(tǒng)在企業(yè) IT 架構(gòu)中的關(guān)系圖統(tǒng)一身份認(rèn)證系統(tǒng)(UIAS)作為企業(yè)應(yīng)用環(huán)境中的一個子系統(tǒng),按照一種企業(yè)自定義規(guī)則的基于角色的用戶管理機(jī)制,統(tǒng)一了各種企業(yè)應(yīng)用系統(tǒng)五花八門的用戶管理體系。UIAS 系統(tǒng)通過統(tǒng)一存儲和管理企業(yè)應(yīng)用系統(tǒng)中的用戶組織和管理體系,提供了統(tǒng)一的用戶信息管理界面和統(tǒng)一的認(rèn)證訪問接口,可以使各應(yīng)用系統(tǒng)專注于處理其業(yè)務(wù)功能,而不用在用戶的級別管理、歸屬管理、授權(quán)管理等部分上大費(fèi)周章。以上圖為例,用戶在訪問某一個應(yīng)用系統(tǒng)(比如辦公系統(tǒng)時(shí))的某一種功能時(shí),如果是有安全性需求的保護(hù)模塊,則辦公系統(tǒng)要求用戶通過輸入口令、指紋、UKey、動態(tài)口令等各種驗(yàn)證方式進(jìn)行身份或者訪問權(quán)限的認(rèn)證。用戶輸入完成后,辦公系統(tǒng)自動地將調(diào)用UIAS Server 提供的相關(guān)接口,到 UIAS Server 上去驗(yàn)證此用戶的身份及權(quán)限。UIAS Server 按照企業(yè)自定義規(guī)則的基于角色的用戶認(rèn)證機(jī)制,對此用戶進(jìn)行身份認(rèn)證和權(quán)限判斷,并返回辦公系統(tǒng)此用戶的權(quán)限許可是或否,辦公系統(tǒng)即可決定是否讓該用戶繼續(xù)執(zhí)行此功能的操作。UIAS Server 提供統(tǒng)一的用戶信息管理界面,各種認(rèn)證信息及用戶的基本資料在 UIAS Server 上通過在客戶端使用瀏覽器的方式進(jìn)行設(shè)置和管理,不通過具體某一個應(yīng)用系統(tǒng)完成。而作為單獨(dú)的應(yīng)用,辦公系統(tǒng)無需再對例如口令、密碼、用戶基本資料等信息進(jìn)行設(shè)置和管理。在 UIAS Server 上設(shè)置的用戶認(rèn)證信息,可統(tǒng)一為各種應(yīng)用系統(tǒng)進(jìn)行服務(wù),提供用戶身份認(rèn)證的功能。所以,各種應(yīng)用系統(tǒng)可以無需建立自己的用戶管理系統(tǒng),而將其集中到 UIAS 系統(tǒng)中。對系統(tǒng)的使用者來說,無需為各種系統(tǒng)記憶不同的用戶名和密碼以及不同的登錄方式;對系統(tǒng)的管理者來說,只需維護(hù) UIAS 系統(tǒng)這一套用戶數(shù)據(jù)和訪問規(guī)則即可,無需分別管理不同應(yīng)用系統(tǒng)中不同的使用者數(shù)據(jù)庫,并且無需為不同的應(yīng)用系統(tǒng)中無法共享和同步用戶登錄信息而煩惱。此外,將用戶身份認(rèn)證的功能部分從各應(yīng)用系統(tǒng)中獨(dú)立出來,可以方便的隨時(shí)增加新的應(yīng)用系統(tǒng),而無需為每個使用者重復(fù)地在新增系統(tǒng)上建立用戶信息。同時(shí),由于統(tǒng)一身份認(rèn)證系統(tǒng)跨越各個應(yīng)用系統(tǒng),所以為各個獨(dú)立的應(yīng)用系統(tǒng)建立了一個公共的聯(lián)系,從而是單點(diǎn)登錄功能的實(shí)現(xiàn)成為可能,即在 多 個 應(yīng) 用 系 統(tǒng) 中 , 用 戶 只 需要 登 錄 一 次 就 可 以 訪 問 所 有 相 互 信 任 的 應(yīng) 用 系 統(tǒng) 。 UIAS 網(wǎng)絡(luò)應(yīng)用結(jié)構(gòu)系統(tǒng)的網(wǎng)絡(luò)應(yīng)用典型結(jié)構(gòu)圖如下圖所示:圖二 統(tǒng)一身份認(rèn)證平臺網(wǎng)絡(luò)示意圖UIAS 服務(wù)器(UIAS Server)是實(shí)現(xiàn)統(tǒng)一身份認(rèn)證系統(tǒng)的中心,是提供統(tǒng)一身份認(rèn)證服務(wù)的核心設(shè)備。在企業(yè)應(yīng)用系統(tǒng)網(wǎng)絡(luò)中,一般配置兩臺 UIAS Server(也可一臺,如一臺則無法實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)備份及負(fù)載分配) ,兩臺 UIAS Server 的硬件和軟件配置完全一致并建立相同的數(shù)據(jù)庫結(jié)構(gòu),并同步初始數(shù)據(jù)。如果系統(tǒng)中配置兩臺 UIAS Server,則兩臺服務(wù)器的 MySql 數(shù)據(jù)庫數(shù)據(jù)通過配置,以數(shù)據(jù)庫復(fù)制的方式實(shí)現(xiàn)雙機(jī)數(shù)據(jù)的實(shí)時(shí)互同步鏡像。應(yīng)用戶要求,系統(tǒng)也可采用外聯(lián)數(shù)據(jù)庫服務(wù)器的方式,不使用 UIAS Server 上自帶的 MySql 數(shù)據(jù)庫,而通過 JDBC 連接不同種類的用戶數(shù)據(jù)庫系統(tǒng),如 Oracle、SqlServer、DBSybase,Informix 等等。如果采用外聯(lián)數(shù)據(jù)庫系統(tǒng),則無需配置數(shù)據(jù)庫的鏡像功能,數(shù)據(jù)的安全性和完整性由用戶通過原有手段完成。 兩臺服務(wù)器由于具備同樣的數(shù)據(jù)和執(zhí)行功能,因此除了具備數(shù)據(jù)的相互實(shí)時(shí)備份外,通過對調(diào)用端的訪問順序配置,可以實(shí)現(xiàn)負(fù)載平衡的效果。 UIAS 的典型應(yīng)用(單點(diǎn)登錄)單點(diǎn)登錄系統(tǒng)作為 UIAS Server 的一種典型應(yīng)用,其應(yīng)用結(jié)構(gòu)圖如下圖所示:L I N U X + T o m c a t + M y S q lL I N U X + T o m c a t + M y S q l企業(yè)應(yīng)用系統(tǒng)U I A S S e r v e rU I A S S e r v e r 管理 P C ( 瀏覽器 )HTTP/HTTPS用戶信息管理 A P P 單點(diǎn)登錄 A P PHTTP/HTTPS瀏覽器 ( B / S 方式 )HTTP/HTTPS客戶端程序 ( C / S 方式 )身份認(rèn)證接口SOAP/HESSIAN普通用戶 P C ( 瀏覽器 )單點(diǎn)登錄 a p p圖三 統(tǒng)一身份認(rèn)證應(yīng)用(單點(diǎn)登錄)邏輯圖在 UIAS SERVER 的 Tomcat 應(yīng)用服務(wù)器上,部署單點(diǎn)登錄系統(tǒng)服務(wù)端軟件。其中,用戶信息管理 APP 模塊提供給前端管理員使用瀏覽器方式進(jìn)行用戶信息的設(shè)置和管理(比如人員信息的錄入及指紋的采集等等) 。身份認(rèn)證接口用 WebService/hessian 的方式提供,提供給后端的企業(yè)應(yīng)用系統(tǒng)調(diào)用,完成用戶身份的驗(yàn)證。前端管理員可以輸入 UIAS Server1 或者 UIAS Server2 的 URL 地址,進(jìn)行用戶信息的設(shè)置和系統(tǒng)管理方面的操作;用戶在使用企業(yè)應(yīng)用系統(tǒng)前,可以輸入 UIAS Server1 或者 UIAS Server2 單點(diǎn)登錄系統(tǒng) APP 的 URL 地址。用戶登錄單點(diǎn)登錄系統(tǒng)時(shí),通過單點(diǎn)登錄系統(tǒng)用戶表中的字段來驗(yàn)證用戶身份,登錄后得到其被授權(quán)使用的各種企業(yè)應(yīng)用系統(tǒng)的信息。用戶可在顯示的各種應(yīng)用系統(tǒng)賬戶圖標(biāo)上,進(jìn)入需使用的應(yīng)用系統(tǒng)而無需再次單獨(dú)登錄。在對某應(yīng)用系統(tǒng)實(shí)現(xiàn)自動登錄的功能前,用戶需要設(shè)置各個系統(tǒng)到該系統(tǒng)用戶的映射關(guān)系,以保證自動登錄功能得以實(shí)現(xiàn):數(shù)據(jù)加密保存在 UIAS SERVER 的數(shù)據(jù)庫中。2 系統(tǒng)總體設(shè)計(jì)統(tǒng)一身份認(rèn)證服務(wù)平臺,將用戶信息、應(yīng)用資源信息以及用戶對網(wǎng)絡(luò)應(yīng)用資源的訪問權(quán)限等在關(guān)系型數(shù)據(jù)庫進(jìn)行存儲,并在此基礎(chǔ)上提出一套統(tǒng)一身份認(rèn)證、單點(diǎn)登錄、集中鑒權(quán)以及網(wǎng)絡(luò)應(yīng)用資源的統(tǒng)一管理、有效解決了用戶重復(fù)登錄和多點(diǎn)帳號管理的問題。? 方案 1:對第三方業(yè)務(wù)系統(tǒng)基本不作任何改變,用戶通過 UIAS 認(rèn)證后,配置業(yè)務(wù)系統(tǒng)帳號/密碼,隨后用戶訪問業(yè)務(wù)系統(tǒng)時(shí),由 UIAS 向業(yè)務(wù)系統(tǒng)提交認(rèn)證,業(yè)務(wù)系統(tǒng)完成認(rèn)證和授權(quán)。? 方案 2:第三方業(yè)務(wù)系統(tǒng)需進(jìn)行代碼修改和配置,支持統(tǒng)一認(rèn)證,分布授權(quán)。即統(tǒng)一身份認(rèn)證系統(tǒng)實(shí)現(xiàn)用戶身份認(rèn)證,而授權(quán)等操作則由老系統(tǒng)完成。系統(tǒng)設(shè)計(jì)方案比較表:方案名稱介紹 B/S WEB系統(tǒng)單點(diǎn)登錄實(shí)現(xiàn)C/S桌面系統(tǒng)單點(diǎn)登錄實(shí)現(xiàn)方案 1 ? 對業(yè)務(wù)系統(tǒng)基本不做任何改變? 實(shí)施和維護(hù)相對簡單? 一旦出現(xiàn)故障,系統(tǒng)復(fù)原相對簡單? 業(yè)務(wù)系統(tǒng)需進(jìn)行身份認(rèn)證、授權(quán)統(tǒng)一平臺用戶注冊平臺用戶與業(yè)務(wù)系統(tǒng)賬號關(guān)聯(lián)統(tǒng)一平臺配置 B/S系統(tǒng)參數(shù)使用 IE控件往 B/S系統(tǒng)推送賬號/密碼等相關(guān)參數(shù),進(jìn)行登錄(登錄時(shí)需要驗(yàn)證碼校驗(yàn)的第三方業(yè)務(wù)系統(tǒng)要單獨(dú)進(jìn)行處理,IE控件對校驗(yàn)碼圖片進(jìn)行分析(隨機(jī)英文字母、隨機(jī)數(shù)字、隨機(jī)顏色、隨機(jī)位置、隨機(jī)長度等參數(shù))統(tǒng)一平臺用戶注冊平臺用戶與業(yè)務(wù)系統(tǒng)賬號關(guān)聯(lián)在統(tǒng)一平臺設(shè)置 C/S系統(tǒng)基本參數(shù)使用客戶端工具,在每個用戶客戶端都需初始化 C/S系統(tǒng)的相關(guān)參數(shù)使用 IE控件往 C/S系統(tǒng)推送賬號/密碼等相關(guān)參數(shù),進(jìn)行登錄方案 2 ? 每個業(yè)務(wù)系統(tǒng)需代碼修改和配置,與統(tǒng)一身份認(rèn)證平臺進(jìn)行聯(lián)調(diào)統(tǒng)一平臺用戶注冊平臺用戶與業(yè)務(wù)系統(tǒng)賬號關(guān)聯(lián)? 同上? 由統(tǒng)一身份認(rèn)證平臺實(shí)現(xiàn)統(tǒng)一的身份認(rèn)證功能,業(yè)務(wù)系統(tǒng)只負(fù)責(zé)對用戶授權(quán)? 一旦出現(xiàn)故障,系統(tǒng)復(fù)原相對復(fù)雜? 實(shí)施和維護(hù)相對復(fù)雜統(tǒng)一平臺配置 B/S系統(tǒng)參數(shù)統(tǒng)一平臺與第三方業(yè)務(wù)系統(tǒng)單點(diǎn)登錄接口調(diào)用建議 老系統(tǒng)整