羅小紅
(中南大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,湖南 長(zhǎng)沙 410075)
我國(guó)的數(shù)字化校園建設(shè)經(jīng)歷了三個(gè)階段,一階段是以校園網(wǎng)建設(shè)為標(biāo)志的基礎(chǔ)設(shè)施建設(shè)階段;二階段是以基于校園網(wǎng)的業(yè)務(wù)系統(tǒng)建設(shè)階段,在此階段,許多學(xué)校都相繼建成了教務(wù)管理、學(xué)生管理、人事管理、圖書、科研管理、招生就業(yè)、后勤等管理信息系統(tǒng),這些系統(tǒng)的建成,對(duì)于促進(jìn)的教學(xué)管理水平提升發(fā)揮了重要作用,但是由于缺乏統(tǒng)一規(guī)劃,信息孤島問(wèn)題也困擾著數(shù)字校園建設(shè);三階段是一卡通建設(shè)萌芽的數(shù)字校園基礎(chǔ)平臺(tái)的建設(shè),在此階段,主要解決異構(gòu)系統(tǒng)的資源共享及互聯(lián)互通的問(wèn)題。
數(shù)字校園核心基礎(chǔ)平臺(tái)包括門戶、單點(diǎn)登錄、數(shù)據(jù)中心等。原來(lái)建成的每個(gè)系統(tǒng)都有自己的安全體系和身份認(rèn)證系統(tǒng),整合以前,進(jìn)入每個(gè)系統(tǒng)都需要進(jìn)行登錄,這樣的局面不僅給管理上帶來(lái)了很大的困難,在安全方面也埋下了重大的隱患,因而單點(diǎn)登錄(Single Sing On,SSO)的問(wèn)題成為現(xiàn)階段數(shù)字化校園建設(shè)首先需要解決的問(wèn)題。
目前,實(shí)現(xiàn) SSO的技術(shù)主要包括:(1)基于Cookies實(shí)現(xiàn);(2)基于 Broker實(shí)現(xiàn);(3)基于 A-gent實(shí)現(xiàn);(4)基于Token實(shí)現(xiàn);(5)基于網(wǎng)關(guān)實(shí)現(xiàn)。但在單點(diǎn)登錄系統(tǒng)實(shí)現(xiàn)過(guò)程中,常常會(huì)遇到一個(gè)用戶,擁有多個(gè)系統(tǒng)權(quán)限,COOKIE不能跨域共享等問(wèn)題。[1-3]采用基于 CAS(Central Authentication Service)技術(shù),實(shí)現(xiàn)了數(shù)字化校園的單點(diǎn)登錄,較好解決了上述問(wèn)題。
CAS是耶魯大學(xué)發(fā)布的一款單點(diǎn)登錄開(kāi)源軟件,該軟件為不同的WEB應(yīng)用系統(tǒng)提供一種可靠的單點(diǎn)登錄方法。系統(tǒng)包括CAS Server和CAS Client兩部分,前者負(fù)責(zé)對(duì)用戶的身份認(rèn)證工作,后者一般與應(yīng)用系統(tǒng)部署在一起,負(fù)責(zé)處理對(duì)應(yīng)用的訪問(wèn)請(qǐng)求。
基于CAS的單點(diǎn)登錄系統(tǒng)框架如圖1所示。這個(gè)系統(tǒng)中心為CAS單點(diǎn)登錄系統(tǒng),LDAP用戶信息中心及CA安全認(rèn)證中心、以及統(tǒng)一接入門戶,各類身份人員(如學(xué)生、老師等),通過(guò)統(tǒng)一門戶登錄,在CAS單點(diǎn)登錄系統(tǒng)的支持下,能夠訪問(wèn)個(gè)性化的服務(wù),同時(shí)能夠直接訪問(wèn)到校園內(nèi)的相關(guān)應(yīng)用系統(tǒng)。
圖1 系統(tǒng)結(jié)構(gòu)圖
1)用戶通過(guò)WEB BROWSE訪問(wèn)業(yè)務(wù)系統(tǒng),CAS客戶端對(duì)于每個(gè)WEB請(qǐng)求,會(huì)分析請(qǐng)求是否包含Service Ticket;
2)如果沒(méi)有,則重定向到CAS服務(wù)器的登錄地址,要求用戶輸入認(rèn)證信息,進(jìn)行認(rèn)證;
3)用戶輸入認(rèn)證的用戶名,口令,提交服務(wù)器進(jìn)行登錄認(rèn)證,進(jìn)行登錄認(rèn)證。
4)認(rèn)證服務(wù)認(rèn)證成功,CAS服務(wù)器產(chǎn)生一個(gè)不可偽造、唯一的Service Ticket,之后系統(tǒng)自動(dòng)重定向到Service所在地址,并為客戶端瀏覽器設(shè)置一個(gè)Ticket Granted Cookie(TGC),CAS Client在拿到Service和新產(chǎn)生的 Ticket過(guò)后,在第5、6步中與CAS Server進(jìn)行身份合適,以確保Service Ticket的合法性,具體見(jiàn)圖2。
圖2 CAS基礎(chǔ)協(xié)議
系統(tǒng)提供兩種應(yīng)用系統(tǒng)接入方式,以快速實(shí)現(xiàn)單點(diǎn)登錄。
1)反向代理(Reverse Proxy)方式,實(shí)現(xiàn)方式為松耦合,應(yīng)用系統(tǒng)無(wú)需開(kāi)發(fā)、無(wú)需改動(dòng)。對(duì)于不能作改動(dòng)或沒(méi)有原廠商配合的應(yīng)用系統(tǒng),可以使用該方式接入統(tǒng)一用戶管理平臺(tái)。采用反向代理模塊和單點(diǎn)登錄(SSO)認(rèn)證服務(wù)進(jìn)行交互驗(yàn)證用戶信息,完成應(yīng)用系統(tǒng)單點(diǎn)登錄
2)Plug-in方式,實(shí)現(xiàn)方式為緊耦合,采用集成插件的方式與單點(diǎn)登錄(SSO)認(rèn)證服務(wù)進(jìn)行交互驗(yàn)證用戶信息,完成應(yīng)用系統(tǒng)單點(diǎn)登錄。緊耦合方式提供多種API,通過(guò)簡(jiǎn)單調(diào)用即可實(shí)現(xiàn)單點(diǎn)登錄(SSO)。
通過(guò)業(yè)務(wù)系統(tǒng)集成,將能夠把各種不同應(yīng)用的內(nèi)容聚合到一個(gè)統(tǒng)一的頁(yè)面呈現(xiàn)給用戶,實(shí)現(xiàn)同應(yīng)用系統(tǒng)實(shí)時(shí)交換信息。[4]能夠從各種數(shù)據(jù)源如數(shù)據(jù)庫(kù)、多種格式的文件檔案、Web頁(yè)面、電子郵件等集成用戶所需的動(dòng)態(tài)內(nèi)容。信息門戶與門戶網(wǎng)站的集成,主要是通過(guò)兩種方式來(lái)集成的,即基于界面的集成和基于數(shù)據(jù)的集成。
1)基于界面的集成
基于界面的集成是指Portal系統(tǒng)直接訪問(wèn)目標(biāo)系統(tǒng)的URL,得到目標(biāo)系統(tǒng)的返回的HTML界面后,從中截取一部分,展示給最終用戶。在展示HTML的時(shí)候,系統(tǒng)作了一次URL鏈接的轉(zhuǎn)換,使得最終用戶點(diǎn)擊相關(guān)鏈接之后就能夠流轉(zhuǎn)到目標(biāo)系統(tǒng)的相關(guān)界面上,這功能可以使用Web Clipping Portlet來(lái)實(shí)現(xiàn)。
2)基于數(shù)據(jù)的集成
基于數(shù)據(jù)的集成是指目標(biāo)應(yīng)用系統(tǒng)提供出接口(可以是API,也可以是數(shù)據(jù)庫(kù)接口),Portal系統(tǒng)使用這些接口獲取數(shù)據(jù),展示給最終用戶,并且產(chǎn)生目標(biāo)系統(tǒng)的鏈接,使得最終用戶點(diǎn)擊相關(guān)鏈接之后就能夠流轉(zhuǎn)到目標(biāo)系統(tǒng)的相關(guān)界面上。
在數(shù)字化校園中,系統(tǒng)多,人員多,用戶的類型多。用戶能否訪問(wèn)的業(yè)務(wù)不同,即使統(tǒng)一業(yè)務(wù),其具體權(quán)限也不盡相同。統(tǒng)一權(quán)限管理采用二次鑒權(quán)的方法,也就是對(duì)于門戶的統(tǒng)一身份認(rèn)證,則管理到其能否訪問(wèn)到其業(yè)務(wù)的權(quán)限,具體業(yè)務(wù)系統(tǒng)內(nèi)的權(quán)限,則由每個(gè)系統(tǒng)獨(dú)立認(rèn)證。[5]對(duì)統(tǒng)一權(quán)限管理,通過(guò)角色的引入,減少了授權(quán)管理的復(fù)雜性和工作量。但對(duì)管理員來(lái)說(shuō),由于許多用戶都具有共同的角色,如果對(duì)每一用戶都授一次權(quán),工作量是非常大的。因而針對(duì)實(shí)際情況,將用戶組引入到統(tǒng)一權(quán)限管理中,以減少管理的授權(quán)次數(shù)。采用基于用戶、用戶組、業(yè)務(wù)和角色向結(jié)合的權(quán)限管理系統(tǒng),實(shí)現(xiàn)數(shù)字化校園中的統(tǒng)一權(quán)限管理。其基本思想是:
設(shè)m 個(gè)用戶分別為 U1、U2、…、Um,設(shè) n個(gè)業(yè)務(wù)分別為 B1、B2、…、Bn,設(shè) p 個(gè)用戶組為 T1、T2、…、Tp,設(shè) q 個(gè)角色組分別為 R1、R2、…、Rq。
對(duì)于用戶 Uj(j∈{1,2,…,m}),其權(quán)限定義為:
即用戶Uj的業(yè)務(wù)權(quán)限可用用戶的用戶組權(quán)限與業(yè)務(wù)權(quán)限以及用戶的角色權(quán)限來(lái)表達(dá)。于是可以通過(guò)靈活多變的權(quán)限控制組合,實(shí)現(xiàn)統(tǒng)一的權(quán)限管理。
在數(shù)字化校園建設(shè)的過(guò)程中,為了整合不同的應(yīng)用系統(tǒng),單點(diǎn)登錄是首先要考慮的問(wèn)題。本文將CAS應(yīng)用到數(shù)字校園的單點(diǎn)登錄中,采用基于LDAP和證書相結(jié)合,實(shí)現(xiàn)了用戶的統(tǒng)一身份認(rèn)證,實(shí)現(xiàn)了基于反向代理和PLUG-IN的兩種應(yīng)用接入方式,實(shí)現(xiàn)了不同業(yè)務(wù)系統(tǒng)的應(yīng)用集成,采用基于用戶、權(quán)限、角色的方式,實(shí)現(xiàn)了統(tǒng)一權(quán)限管理。
[1]李小平,閻光偉,王軒峰.基于公開(kāi)密鑰基礎(chǔ)設(shè)施的單點(diǎn)登錄系統(tǒng)的設(shè)計(jì)[J].北京理工大學(xué)學(xué)報(bào),2002,22(2):209-213.
[2]Samar V.Single Sign-on Using Cookies for Web Applications[Z].IEEE 8th International Workshops on Enabling Technologies:Infrastructure for Collaborative Enterprise.Palto Alto,Califorina,1999 -06:16 -18.
[3]鄧緒水,宋庭新,黃必清.單點(diǎn)登錄技術(shù)在企業(yè)資源集成中的應(yīng)用[J].湖北工業(yè)大學(xué)學(xué)報(bào),2010,25(2):24-27.
[4]鄭偉,王加陽(yáng).異構(gòu)應(yīng)用的單點(diǎn)登錄方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(9):88 -91.
[5]向偉,張偉華.統(tǒng)一權(quán)限管理系統(tǒng)單點(diǎn)登錄的實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2009,31(1):22-24.