周益飛+蔡利軍


摘要:隨著信息化的發展,高校業務系統也得到了普遍應用。這些業務系統在不同時期由不同開發人員開發,采用了各種不同的技術和架構,導致系統的用戶和權限資源分散,不便于統一管理。為統一管理和整合各系統的用戶和權限,提出了一種基于SOA架構的統一身份認證系統,并提出具體設計方案。該系統具有較強的實用性,能夠簡化操作且具有更細粒度的分級,使得用戶體驗更好。
關鍵詞關鍵詞:SOA;統一身份認證;單點登錄
DOIDOI:10.11907/rjdk.172413
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2017)011006503
0引言
隨著高校信息化的不斷推進,各種業務系統逐漸增多,信息孤島問題也越來越突出。各個應用系統維護著各自的一套用戶信息,而高校應用系統的使用者基本比較固定,主要為學生和教師,因而各個系統維護著相似的用戶群。這不僅加大了維護工作量,而且使信息無法得到充分利用。
統一身份認證系統[1]可以統一標識、統一管理、統一認證分散的用戶和權限,不僅可以減少工作量,還可以簡化操作。各個業務系統由于開發時期不同,因此使用的開發語言、開發技術,以及開發人員等也不同,導致統一管理比較困難。因此,統一身份認證系統需要兼容各類語言和接口。
面向服務架構SOA(ServiceOriented Architecture)[2]技術是業務驅動的框架標準。SOA將集成程序進行松散耦合分解[3],通過接口使各類程序進行聯系。SOA架構為業務系統集中身份認證難題提供了可行的解決方案。
1SOA技術
SOA是基于服務的IT架構,SOA中服務的思想是業務和技術既能完全分離[4],又能自由組合。它將業務系統的不同功能單元拆分成多個子系統[5],這些功能單元也稱為服務,服務之間可通過定義良好的接口和契約聯系起來。SOA使用戶可以構建、部署、整合和調用這些服務,且無需依賴某一具體應用程序及其運行計算平臺。
SOA與傳統架構相比,具有以下優勢[67]:①可以充分利用現有的信息技術資產;②更易于集成和管理;③能更快地整合業務;④減少成本和增加重用;⑤SOA業務流程由一系列業務服務組成,可以更輕松地對其進行創建與修改,以滿足不同時期的需要。
2統一身份認證
統一身份認證系統[8]的主要特點是統一標識、統一管理、統一認證用戶和權限,所有業務系統的用戶和權限進行統一維護。與緊耦合的用戶認證方式相比,該方式能為業務系統提供各種接口,且安全性更高[9]。通過綁定接口,業務系統可以直接獲得統一身份認證系統對用戶和權限信息的反饋,同時統一身份認證系統使用以上接口可以完成各類業務系統的互信和互通。
統一認證模式的核心[10]是為各業務系統提供統一身份認證服務。當用戶需要登錄某個應用系統時,首先登錄統一身份系統驗證身份,之后即可訪問該用戶有權限訪問的所有統一身份認證系統已集成的應用系統。
3基于SOA的統一身份認證系統
統一身份認證系統的設計思想是統一管理各業務系統的用戶登錄,并且給各業務系統提供接口。
對用戶而言,用戶在登錄某個應用系統時,打開登錄界面,直接跳轉進入統一身份認證的登錄界面,通過登錄統一身份認證系統進行身份驗證后,再進入用戶想要訪問的系統。同時,用戶可以在統一身份認證系統主頁面中,訪問所有有權限訪問的系統,并且根據自己的賬號權限選擇使用某類權限進入系統,比如有用戶具有多個角色,既是系統管理人員,又是普通用戶。用戶還可以將賬號綁定到郵箱或手機,用于忘記密碼時重置密碼。
對于系統管理人員而言,各應用系統按照統一身份認證的統一接口集成單點登錄,單點登錄接口完成后由系統管理人員將該業務系統加入統一身份認證的認證管理平臺,并進行授權;對所有用戶設置用戶角色權限,并進行分類和分組,如教職工類人員還可細分成教師和職工組,以更細粒度地管理用戶;通過系統的監控模塊,監控系統運行情況,并審計用戶登錄情況,以防暴力破解或非法登錄系統等情況出現。
對于其他業務系統建設人員而言,只需按照統一身份認證的集成接口完成單點登錄,將業務系統加入統一身份認證的認證管理中。無需在業務系統中單獨設置用戶權限和角色,以減少用戶導入和設置權限等工作量。
因此,統一身份認證系統應包括身份管理模塊、身份認證模塊、對外服務模塊3個功能模塊。
3.1系統功能設計
基于SOA的統一身份認證系統功能結構如圖1所示。
圖1統一身份認證系統功能結構
身份管理模塊包括賬號管理、認證管理、授權管理、審計管理、系統管理5部分:
(1)賬號管理:包括賬號列表、批量操作、賬號同步、賬號統計等功能,可實現身份證號的增加、刪除、修改、過期設置、鎖定/解鎖和加入組操作,還包括轉為校友、單賬號和批量操作等功能。
(2)認證管理:包括認證應用、認證統計、OAuth管理等功能,可管理需要集成的各類應用系統,以及各類應用系統能訪問的用戶權限,查詢各系統的認證細節,以及各個應用通過統一身份認證訪問的統計信息。
(3)授權管理:包括群組授權、用戶授權、批量授權、授權統計等功能。將用戶進行分組管理,基于性能考慮群組授權和用戶授權,通過圖表形式的統計賬號進行入組和出組操作統計。
(4)審計管理:包括賬號審計、認證審計、授權審計、差異審計等功能,以檢測認證和授權中出現的問題。賬號審計包括對休眠賬號、孤兒賬號、密碼強度不符合規范的賬號的審計;認證審計包括對惡意認證賬號、暴力破解的賬號和惡意認證的IP地址的審計;授權審計包括空組和無組審計;差異審計包括對LADP丟失賬號和數據庫丟失賬號等的審計。endprint
(5)系統管理:包括系統操作日志、服務器狀態、會話狀態、總體狀態、系統告警、監控配置等功能。
身份認證模塊包括統一身份認證和單點登錄功能,可實現認證過程,使用戶能暢快訪問系統。
對外服務模塊包括集成接口和身份自助服務2部分。
(1)集成接口:包括各類接口,如LDAP接口、CAS接口、OAuth接口、代理接口、SAML接口等。支持各類接口語言,包括Java、PHP、.Net等,支持Android、iOS等手機的登錄接入和反向代理認證服務器認證,使各個應用系統能實現統一身份認證和單點登錄。
(2)身份自助服務:包括用戶信息、找回密碼、郵箱綁定、手機號綁定等,以滿足用戶對自己賬號信息和密碼信息的維護需求。
3.2SOA在統一身份認證系統中的應用設計
統一身份認證系統通過SOA架構進行分層,一共分為6層:基礎功能層、組件層、服務整合層、業務流程層、業務展現層、服務總線。
圖2SOA體系結構
(1)基礎功能層:統一身份認證系統中的程序資源。
(2)組件層:將底層的業務邏輯封裝成組件,并將每個功能模塊進行封裝,單獨調用。
(3)服務整合層,包括3類功能性模塊:①業務服務,指比較完整且能暴露給最終用戶的服務,如身份自助服務模塊;②業務功能服務,主要是一些比較具體的業務操作,可被更上層的服務調用,一般封裝在系統操作過程中,如用戶信息檢索、用戶賬號存儲等;③技術功能服務,主要實現一些底層的技術功能,如日志服務、審計服務等。
(4)業務流程層:通過封裝后的服務構建業務系統中的各種流程。如用戶登錄系統流程為在集成系統中判斷用戶是否有權限,有權限則進行下一步,登錄進入系統。
(5)業務展現層:提供接口服務,可以用基于Portal的系統進行構建,主要通過在web.xml文件中加入對應的過濾器進行配置。
(6)服務總線:提供一個基礎環境支持以上5層的運行。
4結語
基于SOA的統一身份認證系統可統一管理校內外各類應用及系統的登錄、訪問和相互間的認證,充分保證訪問時權限的細粒度控制,使得用戶體驗更好。
參考文獻參考文獻:
[1]李莉.基于CAS的校園統一身份認證系統的設計與實現[J].教育探索,2016,32(10):7273.
[2]劉偉.基于業務應用集成體系架構探討[J].軟件導刊,2013(8):1719.
[3]徐遇霄.基于Java的SOA分層研究與設計[J].艦船電子工程,2010,30(6):124129.
[4]黃飛飛.基于SOA架構的企業統一用戶身份認證平臺研究[J].中國管理信息化,2016,19(19):5658.
[5]李若鷺,張靜,劉士彬,等.基于SOA架構的移動GIS快速開發平臺[J].測繪通報,2013(5):115116.
[6]張亞.基于SOA架構軟件服務可靠性評價方法研究[J].計算機技術與發展,2015(4):6770.
[7]吳曉,李丹寧.基于SOA架構的企業信息門戶實現[J].貴州科學,2015,33(6):1419.
[8]潛昕,羅沙白,盧康權.構建基于分布式SOA架構的統一身份認證體系[J].軟件,2013,34(1):1719.
[9]趙龍,李秀紅,馬玉爽.OAuth2.0讓統一身份認證更安全[J].中國教育網絡,2017(1):7475.
[10]趙巍.基于SOA架構的綜合行政管理系統開發技術研究[J].價值工程,2015,34(2):185186.
責任編輯(責任編輯:黃健)endprint