羅小紅
(中南大學數學與統計學院,湖南 長沙 410075)
我國的數字化校園建設經歷了三個階段,一階段是以校園網建設為標志的基礎設施建設階段;二階段是以基于校園網的業務系統建設階段,在此階段,許多學校都相繼建成了教務管理、學生管理、人事管理、圖書、科研管理、招生就業、后勤等管理信息系統,這些系統的建成,對于促進的教學管理水平提升發揮了重要作用,但是由于缺乏統一規劃,信息孤島問題也困擾著數字校園建設;三階段是一卡通建設萌芽的數字校園基礎平臺的建設,在此階段,主要解決異構系統的資源共享及互聯互通的問題。
數字校園核心基礎平臺包括門戶、單點登錄、數據中心等。原來建成的每個系統都有自己的安全體系和身份認證系統,整合以前,進入每個系統都需要進行登錄,這樣的局面不僅給管理上帶來了很大的困難,在安全方面也埋下了重大的隱患,因而單點登錄(Single Sing On,SSO)的問題成為現階段數字化校園建設首先需要解決的問題。
目前,實現 SSO的技術主要包括:(1)基于Cookies實現;(2)基于 Broker實現;(3)基于 A-gent實現;(4)基于Token實現;(5)基于網關實現。但在單點登錄系統實現過程中,常常會遇到一個用戶,擁有多個系統權限,COOKIE不能跨域共享等問題。[1-3]采用基于 CAS(Central Authentication Service)技術,實現了數字化校園的單點登錄,較好解決了上述問題。
CAS是耶魯大學發布的一款單點登錄開源軟件,該軟件為不同的WEB應用系統提供一種可靠的單點登錄方法。系統包括CAS Server和CAS Client兩部分,前者負責對用戶的身份認證工作,后者一般與應用系統部署在一起,負責處理對應用的訪問請求。
基于CAS的單點登錄系統框架如圖1所示。這個系統中心為CAS單點登錄系統,LDAP用戶信息中心及CA安全認證中心、以及統一接入門戶,各類身份人員(如學生、老師等),通過統一門戶登錄,在CAS單點登錄系統的支持下,能夠訪問個性化的服務,同時能夠直接訪問到校園內的相關應用系統。

圖1 系統結構圖
1)用戶通過WEB BROWSE訪問業務系統,CAS客戶端對于每個WEB請求,會分析請求是否包含Service Ticket;
2)如果沒有,則重定向到CAS服務器的登錄地址,要求用戶輸入認證信息,進行認證;
3)用戶輸入認證的用戶名,口令,提交服務器進行登錄認證,進行登錄認證。
4)認證服務認證成功,CAS服務器產生一個不可偽造、唯一的Service Ticket,之后系統自動重定向到Service所在地址,并為客戶端瀏覽器設置一個Ticket Granted Cookie(TGC),CAS Client在拿到Service和新產生的 Ticket過后,在第5、6步中與CAS Server進行身份合適,以確保Service Ticket的合法性,具體見圖2。

圖2 CAS基礎協議
系統提供兩種應用系統接入方式,以快速實現單點登錄。
1)反向代理(Reverse Proxy)方式,實現方式為松耦合,應用系統無需開發、無需改動。對于不能作改動或沒有原廠商配合的應用系統,可以使用該方式接入統一用戶管理平臺。采用反向代理模塊和單點登錄(SSO)認證服務進行交互驗證用戶信息,完成應用系統單點登錄
2)Plug-in方式,實現方式為緊耦合,采用集成插件的方式與單點登錄(SSO)認證服務進行交互驗證用戶信息,完成應用系統單點登錄。緊耦合方式提供多種API,通過簡單調用即可實現單點登錄(SSO)。
通過業務系統集成,將能夠把各種不同應用的內容聚合到一個統一的頁面呈現給用戶,實現同應用系統實時交換信息。[4]能夠從各種數據源如數據庫、多種格式的文件檔案、Web頁面、電子郵件等集成用戶所需的動態內容。信息門戶與門戶網站的集成,主要是通過兩種方式來集成的,即基于界面的集成和基于數據的集成。
1)基于界面的集成
基于界面的集成是指Portal系統直接訪問目標系統的URL,得到目標系統的返回的HTML界面后,從中截取一部分,展示給最終用戶。在展示HTML的時候,系統作了一次URL鏈接的轉換,使得最終用戶點擊相關鏈接之后就能夠流轉到目標系統的相關界面上,這功能可以使用Web Clipping Portlet來實現。
2)基于數據的集成
基于數據的集成是指目標應用系統提供出接口(可以是API,也可以是數據庫接口),Portal系統使用這些接口獲取數據,展示給最終用戶,并且產生目標系統的鏈接,使得最終用戶點擊相關鏈接之后就能夠流轉到目標系統的相關界面上。
在數字化校園中,系統多,人員多,用戶的類型多。用戶能否訪問的業務不同,即使統一業務,其具體權限也不盡相同。統一權限管理采用二次鑒權的方法,也就是對于門戶的統一身份認證,則管理到其能否訪問到其業務的權限,具體業務系統內的權限,則由每個系統獨立認證。[5]對統一權限管理,通過角色的引入,減少了授權管理的復雜性和工作量。但對管理員來說,由于許多用戶都具有共同的角色,如果對每一用戶都授一次權,工作量是非常大的。因而針對實際情況,將用戶組引入到統一權限管理中,以減少管理的授權次數。采用基于用戶、用戶組、業務和角色向結合的權限管理系統,實現數字化校園中的統一權限管理。其基本思想是:
設m 個用戶分別為 U1、U2、…、Um,設 n個業務分別為 B1、B2、…、Bn,設 p 個用戶組為 T1、T2、…、Tp,設 q 個角色組分別為 R1、R2、…、Rq。

對于用戶 Uj(j∈{1,2,…,m}),其權限定義為:

即用戶Uj的業務權限可用用戶的用戶組權限與業務權限以及用戶的角色權限來表達。于是可以通過靈活多變的權限控制組合,實現統一的權限管理。
在數字化校園建設的過程中,為了整合不同的應用系統,單點登錄是首先要考慮的問題。本文將CAS應用到數字校園的單點登錄中,采用基于LDAP和證書相結合,實現了用戶的統一身份認證,實現了基于反向代理和PLUG-IN的兩種應用接入方式,實現了不同業務系統的應用集成,采用基于用戶、權限、角色的方式,實現了統一權限管理。
[1]李小平,閻光偉,王軒峰.基于公開密鑰基礎設施的單點登錄系統的設計[J].北京理工大學學報,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]鄧緒水,宋庭新,黃必清.單點登錄技術在企業資源集成中的應用[J].湖北工業大學學報,2010,25(2):24-27.
[4]鄭偉,王加陽.異構應用的單點登錄方法[J].計算機系統應用,2010,19(9):88 -91.
[5]向偉,張偉華.統一權限管理系統單點登錄的實現[J].武漢理工大學學報(信息與管理工程版),2009,31(1):22-24.