操亞松
摘要:提出了一個(gè)基于SSO技術(shù)的統(tǒng)一用戶認(rèn)證系統(tǒng),介紹了統(tǒng)一用戶認(rèn)證系統(tǒng)的系統(tǒng)架構(gòu)和分析設(shè)計(jì),詳細(xì)描述了系統(tǒng)的認(rèn)證過程。文章介紹了統(tǒng)一用戶認(rèn)證系統(tǒng)在在電子政務(wù)辦公平臺(tái)的應(yīng)用,研究如何在電子政務(wù)平臺(tái)中實(shí)現(xiàn)用戶統(tǒng)一管理、統(tǒng)一登錄、組織機(jī)構(gòu)統(tǒng)一管理。
關(guān)鍵詞 :SSO;系統(tǒng)設(shè)計(jì);電子政務(wù);統(tǒng)一用戶
中圖分類號(hào) TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)25-0195-02
Development and Application of Unified User Authentication System Based on SSO Technology
CAO Ya-song
(Anhui Economic Information Center, Hefei 230000, China)
Abstract: The paper proposed a unified user authentication system based on the technology of SSO, and introduced the system architecture and design of the unified user authentication system , and the process of the system is described in detail. This paper introduces the application of the unified user authentication system in the electronic government affairs office platform, and studies how to realize the unified management of users in the e-government platform.
Key words: SSO; system design; E-government; unified user
1 引言
隨著信息技術(shù)和網(wǎng)絡(luò)的飛速發(fā)展,各個(gè)應(yīng)用平臺(tái)接入的應(yīng)用系統(tǒng)越來越多。比如在電子政務(wù)領(lǐng)域,常見的應(yīng)用系統(tǒng)就有辦公自動(dòng)化系統(tǒng)、項(xiàng)目信息管理系統(tǒng)、智能決策支持系統(tǒng)、政府的行政審批系統(tǒng)、各單位的信息公開系統(tǒng)和各機(jī)構(gòu)門戶網(wǎng)站等。這些系統(tǒng)相互獨(dú)立,用戶在使用每個(gè)應(yīng)用系統(tǒng)之前都必須使用各自的系統(tǒng)身份進(jìn)行登錄,為此用戶必須記住每個(gè)應(yīng)用系統(tǒng)用戶名及密碼,隨著使用的系統(tǒng)增多,丟失密碼或泄露密碼的可能性就會(huì)增大,安全性就會(huì)降低。每個(gè)系統(tǒng)的管理人員也需要維護(hù)大量的用戶信息,工作量增多。針對(duì)這一情況,統(tǒng)一用戶認(rèn)證、單點(diǎn)登錄技術(shù)被大量的應(yīng)用在電子政務(wù)及各類大型平臺(tái)中[1]。
2 系統(tǒng)架構(gòu)
2.1 關(guān)鍵技術(shù)
基于SSO技術(shù),采用java語言開發(fā),利用面向?qū)ο蟮姆椒?,采用LDAP標(biāo)準(zhǔn)協(xié)議目錄服務(wù)器,為接入系統(tǒng)提供統(tǒng)一的身份認(rèn)證,管理和存儲(chǔ)平臺(tái)。統(tǒng)一認(rèn)證系統(tǒng)提供基于Web Service和HTTP的兩種API認(rèn)證接口, API接口認(rèn)證方式和接入系統(tǒng)采用的平臺(tái)和語言無關(guān)[2]。接入系統(tǒng)認(rèn)證過程如圖1。
2.2 系統(tǒng)架構(gòu)
統(tǒng)一認(rèn)證平臺(tái)在架構(gòu)上從外到內(nèi)分為對(duì)外接口、展現(xiàn)模塊、安全模塊、監(jiān)控和報(bào)警模塊、用戶中心、認(rèn)證中心、管理中心、內(nèi)部接口。對(duì)外接口:實(shí)現(xiàn)和第三方系統(tǒng)組織用戶對(duì)接;展現(xiàn)模塊:實(shí)現(xiàn)給用戶的界面展現(xiàn),如PC端、移動(dòng)端;內(nèi)部接口:實(shí)現(xiàn)內(nèi)部各個(gè)獨(dú)立模塊之間的接口調(diào)用;用戶中心:實(shí)現(xiàn)用戶管理,組織管理、角色管理和職務(wù)管理等功能;管理中心:實(shí)現(xiàn)資源管理、日志和和統(tǒng)計(jì)等功能;安全模塊:負(fù)責(zé)數(shù)據(jù)傳輸安全、接口、認(rèn)證等;監(jiān)控模塊:對(duì)接口運(yùn)行和平臺(tái)運(yùn)行的運(yùn)行狀態(tài)進(jìn)行監(jiān)控。架構(gòu)圖見圖2。
3 系統(tǒng)模塊分析與設(shè)計(jì)
統(tǒng)一認(rèn)證平臺(tái)建設(shè)工作在具體建設(shè)上分為以下幾個(gè)模塊:數(shù)據(jù)和管理規(guī)范、數(shù)據(jù)層、數(shù)據(jù)訪問控制層、業(yè)務(wù)邏輯層、界面表現(xiàn)層、接口服務(wù)六部分組成,通過接口服務(wù)和第三方應(yīng)用系統(tǒng)實(shí)現(xiàn)統(tǒng)一認(rèn)證單點(diǎn)登錄。
3.1數(shù)據(jù)和管理規(guī)范
統(tǒng)一認(rèn)證平臺(tái)建設(shè)的目標(biāo)是規(guī)范本單位已建、在建、未建的所有應(yīng)用系統(tǒng)用戶體系,實(shí)現(xiàn)統(tǒng)一管理、統(tǒng)一認(rèn)證和單點(diǎn)登錄,這是一個(gè)長(zhǎng)期的過程,需要制定一系列規(guī)范,以保障項(xiàng)目建設(shè)工作的有序進(jìn)行[5]。本系統(tǒng)建立在《安徽省政府權(quán)力清單運(yùn)行平臺(tái)技術(shù)標(biāo)準(zhǔn)規(guī)范》中的統(tǒng)一身份認(rèn)證技術(shù)規(guī)范基礎(chǔ)之上。
3.2 數(shù)據(jù)層
數(shù)據(jù)層通過LDAP、關(guān)系數(shù)據(jù)庫、文件存儲(chǔ)統(tǒng)一認(rèn)證平臺(tái)所有用戶和業(yè)務(wù)數(shù)據(jù)。LDAP存儲(chǔ)用戶認(rèn)證信息,支持百萬級(jí)用戶數(shù)據(jù)。關(guān)系數(shù)據(jù)庫存儲(chǔ)統(tǒng)一認(rèn)證平臺(tái)所有業(yè)務(wù)數(shù)據(jù)。文件主要存儲(chǔ)統(tǒng)一認(rèn)證平臺(tái)的一些配置信息[3]。
3.3 數(shù)據(jù)訪問控制層
數(shù)據(jù)訪問控制層主要負(fù)責(zé)對(duì)數(shù)據(jù)層的訪問,通過Hibernate框架技術(shù)對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行操作維護(hù),并為業(yè)務(wù)邏輯層提供數(shù)據(jù)支持。
3.4 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層是本系統(tǒng)的核心層,主要有業(yè)務(wù)支撐套件和業(yè)務(wù)功能兩部分組成,其中業(yè)務(wù)支撐套件主要是對(duì)本系統(tǒng)所用到的一些核心公共技術(shù)和業(yè)務(wù)進(jìn)行封裝,提高代碼利用率,提升開發(fā)效率。業(yè)務(wù)功能主要實(shí)現(xiàn)統(tǒng)一認(rèn)證平臺(tái)的業(yè)務(wù)邏輯,并封裝成一個(gè)個(gè)獨(dú)立的功能,供界面展現(xiàn)層調(diào)用。
3.5 界面表現(xiàn)層
界面表現(xiàn)層通過調(diào)用業(yè)務(wù)邏輯層的功能,供使用人員、維護(hù)人員、監(jiān)控人員、管理人員使用。
3.6 接口服務(wù)
通過接口服務(wù),和已有應(yīng)用系統(tǒng)(卡管系統(tǒng)、賬戶系統(tǒng)、電子錢包、OA系統(tǒng)、呼叫系統(tǒng))實(shí)現(xiàn)統(tǒng)一身份管理、統(tǒng)一認(rèn)證和單點(diǎn)登錄。本系統(tǒng)提供SDK、Web Service、HTTP三類接口,接口實(shí)現(xiàn)具體見圖3。
4 支持的認(rèn)證接口
統(tǒng)一用戶認(rèn)證系統(tǒng)提供了多種的認(rèn)證接口和認(rèn)證流程[4][7]。
4.1用戶名密碼認(rèn)證接口
是統(tǒng)一用戶認(rèn)證系統(tǒng)的最基礎(chǔ)認(rèn)證方式,在本系統(tǒng)用戶名與密碼采用LDAP目錄結(jié)構(gòu)進(jìn)行存儲(chǔ),LDAP具有比較高的讀取效率。在用戶登錄時(shí),接入系統(tǒng)調(diào)用用戶名密碼認(rèn)證接口,將用戶的用戶名與密碼信息與LDAP存儲(chǔ)的用戶信息進(jìn)行匹配,若匹配成功,則返回正確的信息給子系統(tǒng),登錄成功,反之則失敗。
統(tǒng)一用戶認(rèn)證系統(tǒng)管理員為系統(tǒng)用戶分配賬號(hào)及其他信息,系統(tǒng)平臺(tái)同時(shí)將新建用戶信息同步給LDAP目錄服務(wù)器。新系統(tǒng)用戶輸入系統(tǒng)要求的用戶名密碼等相關(guān)信息建立新用戶,同時(shí)系統(tǒng)將新用戶信息同步到LDAP目錄完成新用戶自注冊(cè)。
4.2證書認(rèn)證接口
在用戶輸入證書口令后,統(tǒng)一用戶認(rèn)證系統(tǒng)使用第三方CA證書認(rèn)證接口獲取用戶的數(shù)字證書,并將相應(yīng)的證書信息與LDAP目錄服務(wù)器中存儲(chǔ)的證書信息進(jìn)行匹配,若存在接返回相應(yīng)的用戶登錄成功信息,完成證書登錄認(rèn)證。
4.3匿名認(rèn)證接口
在接入的開放子系統(tǒng)中,給予訪問用戶匿名訪問權(quán)限。
考慮到老系統(tǒng)接入時(shí)對(duì)原有用戶登錄接口改造的成本,以及主流的新系統(tǒng)的用戶登錄模式,統(tǒng)一身份認(rèn)證系統(tǒng)提供了兩套認(rèn)證流程(commnetAuth和easyAuth,commnetAuth是基于安全性考慮,為用戶的信息安全提供的強(qiáng)大的保障,在流程上的嚴(yán)格控制保障數(shù)據(jù)的隱私性)。這兩種認(rèn)證流程已經(jīng)基本滿足大部分系統(tǒng)的認(rèn)證需求。
5 統(tǒng)一用戶認(rèn)證系統(tǒng)在電子政務(wù)個(gè)系統(tǒng)中的應(yīng)用
目前,政府經(jīng)過長(zhǎng)期的信息化改造,電子政務(wù)領(lǐng)域已經(jīng)出現(xiàn)了各類成熟的業(yè)務(wù)系統(tǒng),從面上幾乎涵蓋了政府所有職能,這些系統(tǒng)來源不一,開發(fā)的初期大多是獨(dú)立進(jìn)行的。這樣分散式的應(yīng)用系統(tǒng)使得用戶完成某項(xiàng)工作需要進(jìn)入不同的系統(tǒng),而每一個(gè)系統(tǒng)大都需要用戶輸入用戶名、口令等驗(yàn)證身份,這樣用戶還要面對(duì)多個(gè)系統(tǒng)的用戶名、密碼;用戶對(duì)訪問業(yè)務(wù)系統(tǒng) 的不便性可想而知。用戶需要頻繁登錄各個(gè)應(yīng)用系統(tǒng),增加了業(yè)務(wù)操作的復(fù)雜性,有效工作時(shí)間減少,工作效率降低;所以需要一個(gè)對(duì)用戶、系統(tǒng)高度整合,并對(duì)用戶透明,使用戶單點(diǎn)登錄,多點(diǎn)漫游,簡(jiǎn)化了用戶的操作,提高了工作效率,增加了安全性[6]。
6 結(jié)束語
該系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),立足于政府電子政務(wù)平臺(tái)的用戶認(rèn)證管理需求,為整個(gè)統(tǒng)一電子政務(wù)平臺(tái)提供組織管理、用戶管理、統(tǒng)一認(rèn)證、用戶審計(jì)、單點(diǎn)登錄、登錄入口等服務(wù),從而提高項(xiàng)目應(yīng)用效率,降低用戶使用電子政務(wù)平臺(tái)的門檻,提高政府部門處理行政權(quán)力事項(xiàng)的協(xié)同能力。
參考文獻(xiàn):
[1] 王萍利.基于J2EE Web服務(wù)的統(tǒng)一身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程,2012(24):36-37
[2] 畢婭.電子商務(wù)平臺(tái)身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 科技情報(bào)開發(fā)與經(jīng)濟(jì),2006(03):215~216
[3] 李黎明.基于目錄的資源信息模型[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2011(11):227-228
[4] 嚴(yán)耿城.淺析單點(diǎn)登錄[J]. 金融科技時(shí)代,2011(08):61-62
[5] 安徽省電子政務(wù)服務(wù)大廳.安徽省政府權(quán)力清單運(yùn)行平臺(tái)技術(shù)標(biāo)準(zhǔn)規(guī)范(征求意見稿)[EB/OL]. http://ahzwfw.ah.gov.cn/private/cms/zwdt/zwdtview?params=id%3D261.
[6] 金斌,薛質(zhì).單點(diǎn)登錄機(jī)制的設(shè)計(jì)與應(yīng)用[J]. 電信快報(bào),2007(6):19-23
[7] 李立. 統(tǒng)一身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 電子科技大學(xué),2012.