——以福建商業(yè)高等??茖W(xué)校為例"/>
陳 杰,游貴榮,謝日敏
(福建商業(yè)高等??茖W(xué)校信息網(wǎng)絡(luò)中心,福建 福州 350012)
?
基于CAS的統(tǒng)一身份認(rèn)證門戶設(shè)計與實現(xiàn)
——以福建商業(yè)高等??茖W(xué)校為例
陳杰,游貴榮,謝日敏
(福建商業(yè)高等??茖W(xué)校信息網(wǎng)絡(luò)中心,福建 福州 350012)
[摘 要]分析了CAS協(xié)議的工作原理,并從福建商業(yè)高等??茖W(xué)校信息化建設(shè)中各應(yīng)用系統(tǒng)的現(xiàn)狀出發(fā),采用CAS協(xié)議,設(shè)計并實現(xiàn)了統(tǒng)一身份認(rèn)證門戶,規(guī)范校內(nèi)信息系統(tǒng)單點登陸標(biāo)準(zhǔn)。同時支持不同系統(tǒng)、不同賬號映射跳轉(zhuǎn)的私有協(xié)議,兼容早期開發(fā)的舊系統(tǒng),降低了實施統(tǒng)一認(rèn)證平臺的條件和成本,并在統(tǒng)一身份認(rèn)證門戶中引入業(yè)務(wù)開通流程管理,有效規(guī)范了學(xué)校的IT服務(wù)管理流程。
[關(guān)鍵詞]單點登錄;CAS技術(shù);高校信息系統(tǒng);IT服務(wù)管理
信息化技術(shù)的發(fā)展使得越來越多的業(yè)務(wù)系統(tǒng)被各機構(gòu)組織采用,用以支撐內(nèi)部的業(yè)務(wù)順利有效地開展。但是這些引入的系統(tǒng)很可能不是同一個公司開發(fā),因此都有各自的用戶信息數(shù)據(jù)庫和認(rèn)證方式。用戶必須針對每個系統(tǒng)記憶一套用戶名和密碼,給其帶來很大不便,同時也對系統(tǒng)的使用推廣造成巨大的障礙[1]。
為解決此問題,業(yè)界引入Single Sign On(SSO),即單點登錄技術(shù),用戶只要通過一次登錄就能在信任的應(yīng)用系統(tǒng)間互相訪問。本文從福建商業(yè)高等??茖W(xué)校信息化建設(shè)中各應(yīng)用系統(tǒng)的現(xiàn)狀出發(fā),采用CAS2.0(Central Authentication Service)協(xié)議,設(shè)計并實現(xiàn)了校內(nèi)統(tǒng)一身份認(rèn)證門戶:整合已有的教務(wù)、網(wǎng)絡(luò)課程平臺、財務(wù)工資、科研等系統(tǒng)于其中,提供統(tǒng)一的校內(nèi)登錄認(rèn)證服務(wù),規(guī)范校內(nèi)信息系統(tǒng)單點登錄標(biāo)準(zhǔn),既便于師生訪問,又提高了各應(yīng)用系統(tǒng)的使用率。該設(shè)計方案是一種輕量開源解決方案,僅需修改少量的系統(tǒng)代碼就能實現(xiàn)標(biāo)準(zhǔn)協(xié)議的單點登錄,同時支持不同系統(tǒng)、不同賬號映射跳轉(zhuǎn)的私有協(xié)議,及兼容舊系統(tǒng)。無須一次性更換舊的系統(tǒng)用戶賬號,可降低統(tǒng)一認(rèn)證平臺的實施條件和成本,避免更換舊系統(tǒng)用戶賬號而造成的風(fēng)險,適用于那些還未購買商業(yè)化統(tǒng)一認(rèn)證平臺、規(guī)模不大、且有一定開發(fā)能力的學(xué)校和企業(yè)。
1CAS協(xié)議介紹
CAS最早是耶魯大學(xué)發(fā)起的一個開源單點登錄項目[2-3],用戶通過CAS協(xié)議,只要一次登陸就能在信任的應(yīng)用系統(tǒng)間互相訪問。CAS具備不同web程序語言的客戶端,可以方便地植入已有的web系統(tǒng)中,同時CAS也是一個開放源碼的、有充足文檔和網(wǎng)絡(luò)社區(qū)支持的標(biāo)準(zhǔn)協(xié)議。目前CAS已經(jīng)成為一個apereo項目。
如圖1所示,CAS協(xié)議的工作原理:CAS系統(tǒng)分為客戶端和服務(wù)器端。服務(wù)器端是個獨立部署的web服務(wù)器,主要用于用戶身份認(rèn)證;客戶端以庫文件形式嵌入到每個應(yīng)用系統(tǒng)中來實現(xiàn)和服務(wù)器的交互認(rèn)證,各應(yīng)用系統(tǒng)經(jīng)過較小的改動就能滿足CAS協(xié)議,并接入單點登錄平臺。當(dāng)用戶瀏覽器訪問CAS客戶端時,會檢查http協(xié)議或https協(xié)議所攜帶的會話參數(shù)或是服務(wù)器會話中是否攜帶ST(Service Ticket),如果都沒有攜帶,CAS客戶端就重定向用戶請求到CAS服務(wù)端并傳遞回調(diào)地址,當(dāng)用戶在CAS服務(wù)端輸入正確的用戶名和密碼通過認(rèn)證后,CAS服務(wù)端生成TGT(Ticket Granting Ticket)放入緩存,生成TGC(Ticket Granting Cookie),寫入客戶端瀏覽器,TGT簽發(fā)一個ST,根據(jù)傳入的回調(diào)地址和ST,用戶重新訪問CAS客戶端,CAS客戶端根據(jù)ST與CAS 服務(wù)器進行身份認(rèn)證。
2統(tǒng)一身份認(rèn)證門戶的具體實現(xiàn)方案
2.1現(xiàn)有應(yīng)用系統(tǒng)情況分析
學(xué)校在用系統(tǒng)主要有教務(wù)、網(wǎng)絡(luò)課程平臺、財務(wù)工資、科研管理、OA和郵件等。因歷史遺留問題,用于登錄以上系統(tǒng)的用戶賬號(工號)并不統(tǒng)一?,F(xiàn)階段強行要求這些系統(tǒng)更換工號有很大困難,只能等待新系統(tǒng)上線時更換成統(tǒng)一工號。對于這種情況,可采用關(guān)聯(lián)表映射跳轉(zhuǎn)的方式解決。而部分系統(tǒng)已使用統(tǒng)一工號的,可使用CAS協(xié)議實現(xiàn)單點登錄。
從系統(tǒng)的采購情況來看,大部分系統(tǒng)都是從廠家購買的非定制系統(tǒng),學(xué)校并沒有掌握這類系統(tǒng)的源代碼,需要廠家協(xié)助修改,以支持單點登錄;也有部分系統(tǒng)如財務(wù)工資、OA等是學(xué)校自主開發(fā)的,自行修改源代碼即可。
2.2配置認(rèn)證數(shù)據(jù)庫
學(xué)校已經(jīng)部署了輕量級目錄服務(wù)協(xié)議(Lightweight Directory Access Protocol,LDAP),用于存放校內(nèi)撥號認(rèn)證上網(wǎng)和VPN登錄的用戶名和密碼,因此CAS服務(wù)端也將LDAP設(shè)置為用戶認(rèn)證數(shù)據(jù)庫[4],只要簡單配置CAS的認(rèn)證數(shù)據(jù)源就能實現(xiàn)支持LDAP。
2.3私有單點登錄跳轉(zhuǎn)協(xié)議
CAS協(xié)議需要LDAP用戶名和系統(tǒng)的用戶名一致才能通過驗證。對于工號不統(tǒng)一的舊系統(tǒng),可在過渡使用階段設(shè)置關(guān)聯(lián)表,并存放于LDAP數(shù)據(jù)庫中[5],通過使用私有單點登錄協(xié)議來實現(xiàn)映射登錄到應(yīng)用系統(tǒng)。私有單點登錄協(xié)議實現(xiàn)方式可以在http請求中添加加密信息串,具體加密方法可參考各種第三方平臺登錄系統(tǒng),如微信、微博的第三方登錄等。而新上線的校內(nèi)應(yīng)用系統(tǒng)都要求使用校內(nèi)統(tǒng)一的工號,并通過CAS協(xié)議與統(tǒng)一認(rèn)證平臺對接。
2.4關(guān)于各CAS客戶端系統(tǒng)主從關(guān)系的分析
標(biāo)準(zhǔn)的CAS架構(gòu)只有客戶端和認(rèn)證服務(wù)器端,各客戶端都處于同一優(yōu)先級,只要有一個客戶端系統(tǒng)退出CAS認(rèn)證,其他系統(tǒng)也同時要退出CAS認(rèn)證,這樣使用起來很不方便,也不是單點登錄系統(tǒng)所要達到的效果;或者一個客戶端退出CAS認(rèn)證,但CAS認(rèn)證服務(wù)器還保持登錄,還需要到CAS認(rèn)證服務(wù)器端再退出一次,很多用戶會忘記登出CAS認(rèn)證服務(wù)器端,從而產(chǎn)生安全問題。在實際使用中,單點登錄的需要一個導(dǎo)航頁,因此使用主從式客戶端架構(gòu),主客戶端為Portal(即統(tǒng)一身份認(rèn)證門戶),一方面作為各個從客戶端系統(tǒng)的入口導(dǎo)航,實現(xiàn)單點登錄和退出CAS,另一方面實現(xiàn)不一致工號系統(tǒng)的映射查詢,并跳轉(zhuǎn)登錄。從客戶端即為各具體業(yè)務(wù)系統(tǒng),其退出時只退出自己系統(tǒng),不退出CAS認(rèn)證系統(tǒng)。在由主客戶端跳轉(zhuǎn)到從客戶端時,從客戶端需要從CAS認(rèn)證服務(wù)器獲取用戶名,并在本系統(tǒng)中查詢是否有該用戶,驗證通過則登錄系統(tǒng),這樣就能最大程度保留原系統(tǒng)的功能。圖2為學(xué)校的Portal架構(gòu),新系統(tǒng)使用CAS協(xié)議。工號不同的舊系統(tǒng)使用私有協(xié)議映射跳轉(zhuǎn),需要注意的是,雖然都是從Portal端跳轉(zhuǎn)到CAS從客戶端,但CAS從客戶端還是直接和CAS認(rèn)證服務(wù)器通信認(rèn)證。
2.5CAS主從客戶端單點退出的設(shè)計
CAS服務(wù)端設(shè)計了logout接口,用于清理CAS服務(wù)端中的認(rèn)證票據(jù)和用戶瀏覽器中cookie,這樣在CAS服務(wù)端就能實現(xiàn)退出功能。但需要注意以下兩點:在主客戶端退出登錄后,如果用戶之前使用單點登錄過從客戶端,則在從客戶端還存在與用戶瀏覽器的session,因此用戶需到從客戶端再退出一次;在從客戶端退出登錄時,web程序除了要清除系統(tǒng)本身的session變量,還要清除所嵌入的CAS客戶端軟件保存的session變量,否則用戶再輸入單點入口網(wǎng)址又會登錄。
3系統(tǒng)實施流程
3.1部署CAS認(rèn)證服務(wù)器
在認(rèn)證服務(wù)器上安裝tomcat,部署cas-server程序。修改以下配置:
(1)配置認(rèn)證數(shù)據(jù)源,使用LDAP作為認(rèn)證數(shù)據(jù)庫。
(2)使用http協(xié)議。https協(xié)議雖然能提高安全性,但需要申請ssl證書,每年需要繳納年費,若使用自己生成的證書瀏覽器會有安全警告,提示證書不可信任,而校內(nèi)單點登錄系統(tǒng)主要針對學(xué)生和老師的內(nèi)部系統(tǒng),http協(xié)議即可滿足要求。
(3)個性化CAS認(rèn)證服務(wù)器登錄頁,添加驗證碼功能,防止暴力登錄破解用戶賬號。
3.2建立CAS客戶端
CAS主客戶端(即Portal)要實現(xiàn)單點登錄、退出CAS及工號不一致系統(tǒng)的映射查詢,并跳轉(zhuǎn)登錄。因此應(yīng)獨立開發(fā)部署Portal系統(tǒng),具備從LDAP數(shù)據(jù)庫中讀取各系統(tǒng)映射賬號的功能,能實現(xiàn)私有單點登錄協(xié)議的跳轉(zhuǎn)。另外,Portal系統(tǒng)還必須嵌入CAS客戶端代碼和CAS服務(wù)端通訊,實現(xiàn)認(rèn)證登錄。圖3為Portal單點登錄效果截圖。用戶只需登錄一次就可以跳轉(zhuǎn)到校內(nèi)各應(yīng)用系統(tǒng)。
CAS從客戶端,即各具體業(yè)務(wù)系統(tǒng),目前CAS的官網(wǎng)上已經(jīng)有支持php、java和.net的主流web框架的軟件包,各應(yīng)用系統(tǒng)較小的改動就能滿足CAS協(xié)議,實現(xiàn)單點登錄,具體修改方案可見apereo官方網(wǎng)站的示例。
4業(yè)務(wù)開通流程管理
對于高校信息中心來說,日常工作中經(jīng)常需要對各業(yè)務(wù)系統(tǒng)的賬號進行增刪改、權(quán)限改變以及各系統(tǒng)的使用咨詢,因此在Portal系統(tǒng)上集成電子化申請和咨詢流程,可便于師生理順各軟件系統(tǒng)業(yè)務(wù)辦理流程及使用[6]。目前擁有較多業(yè)務(wù)系統(tǒng)的大企業(yè)都部署了IT服務(wù)管理系統(tǒng)(IT Service Management,ITSM)[7-8],用以提高企業(yè)IT服務(wù)的質(zhì)量和管理水平。對于企業(yè)來說,ITSM系統(tǒng)的主要功能是需求分析管理、故障申告處理、賬號開通、權(quán)限管理及系統(tǒng)使用咨詢等??梢酝ㄟ^選擇合適的工具部署實現(xiàn)ITSM,這些工具不僅要求能夠根據(jù)企業(yè)單位的IT管理特點自定義流程和表單等,而且還應(yīng)與已有的系統(tǒng)無縫對接[9]。
高校日常較多的業(yè)務(wù)卻是賬號開通、權(quán)限管理和系統(tǒng)使用咨詢,因此沒有必要獨立部署一個ITSM系統(tǒng),但可以借鑒ITSM系統(tǒng)思想,在Portal系統(tǒng)上添加賬號開通和權(quán)限管理的功能。具體的實現(xiàn)方法就是添加工作流模塊,把IT服務(wù)的每個步驟分解到個人(包括每個系統(tǒng)的業(yè)務(wù)管理員、信息網(wǎng)絡(luò)中心管理員等)。對于圖書館和教務(wù)管理等系統(tǒng)來說,管理員把所有學(xué)生和老師的賬號導(dǎo)入到系統(tǒng)而不需要申請開通流程;而對于像OA系統(tǒng),涉及權(quán)限管理;郵件系統(tǒng),涉及個性化郵件賬號;網(wǎng)絡(luò)課程平臺,涉及子權(quán)限管理(教學(xué)秘書開通和停止課程,不僅僅有管理員一個權(quán)限)。這些系統(tǒng)就需要開通申請流程。因此在Portal系統(tǒng)上整合高校各業(yè)務(wù)系統(tǒng)賬號的申請流程是很有意義的,可以規(guī)范學(xué)校內(nèi)部IT服務(wù)流程,變被動服務(wù)為主動服務(wù),提高各個IT系統(tǒng)管理員的服務(wù)質(zhì)量,有效利用各IT系統(tǒng),提升老師和學(xué)生的服務(wù)感知。學(xué)校的Portal系統(tǒng)已經(jīng)集成了ITSM的賬號開通和權(quán)限管理的功能,目前暫時只提供給老師使用。在一個學(xué)期的試用中已經(jīng)接收了近150份左右老師的申請和咨詢,隨著各業(yè)務(wù)系統(tǒng)更廣泛的使用,IT服務(wù)管理模塊的重要性會更加的凸顯。
5結(jié)束語
目前統(tǒng)一認(rèn)證門戶方案已經(jīng)在福建商業(yè)高等專科學(xué)校中成功實施,提供統(tǒng)一的校內(nèi)登錄認(rèn)證服務(wù),CAS協(xié)議的標(biāo)準(zhǔn)性使之易于維護和更新,而本方案的兼容性降低了實施統(tǒng)一認(rèn)證平臺的條件和成本。提出的Portal系統(tǒng)引入業(yè)務(wù)開通流程管理的功能也成功實施,Portal系統(tǒng)成為管理各IT系統(tǒng)的主要系統(tǒng),有效規(guī)范了學(xué)校的IT服務(wù)管理流程。
參考文獻:
[1]皮曉東.單點登錄的研究與實現(xiàn)[J] .計算機應(yīng)用與軟件,2007,24(6):156 -158.
[2]Apereo Community.The central authentication service[EB/ OL].(2015-05-13)[2016-03-14].https://www.apereo.org/projects/cas.
[3]沈杰,朱程榮.基于Yale-CAS的單點登錄的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2007,(12):144-150.
[4]李新華.基于LDAP的Web統(tǒng)一身份認(rèn)證的研究與實現(xiàn)[J].科技資訊,2006,(25):75-76.
[5]張齊,鐘觀寶.基于用戶映射的CAS單點登錄系統(tǒng)設(shè)計與實現(xiàn)[J].信息通信技術(shù),2009,(04):6-10.
[6]劉峰,王崢,曹華平,等.基于CAS的門戶單點登錄方案[J].計算機系統(tǒng)應(yīng)用,2011,(06):77-81.
[7] 賈瑞,張瑞娟.以服務(wù)為中心的IT管理——ITSM[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014,(12):58-62.
[8]何秀全,羅圣,夏晴,等.基于ITIL的高校IT服務(wù)管理應(yīng)用研究[J].現(xiàn)代教育技術(shù),2011,(10):60-63.
[9]張亞軍,張金隆,陳江濤.IT服務(wù)管理研究述評及未來展望[J].情報雜志,2013,(06):95-99.
(責(zé)任編輯:楊成平)
Design and Implementation of Unified Authentication Portal Based on CAS in Fujian Commercial College
CHEN Jie,YOU Gui-rong,XIE Ri-min
(Information Network Center,Fujian Commercial College,Fuzhou 350012,China)
Abstract:The article analyzes the principle of CAS protocol,considers the situation in Fujian Commercial College,and we have successfully developed unified authentication portal,standardized campus information system and SSO.It can also support different systems and accounts mapped jumping protocol compatibly,greatly reduce the costs of unified authentication platform.The business process management in portal effectively regulates IT service management process in college.Key words: single sign on;CAS;campus information system;IT service management
* 收稿日期:2016-04-15
基金項目:福建省青年教師科研項目、高校教育信息化專項 "基于校園社交網(wǎng)絡(luò)平臺的應(yīng)用系統(tǒng)架構(gòu)研究"(JA15730)。
作者簡介:陳杰(1984-),男,福建福州人,助理工程師,碩士。研究方向:數(shù)據(jù)挖掘技術(shù)。
[中圖分類號]TP393.071
[文獻標(biāo)識碼]A
[文章編號]1008-4940(2016)03-0041-05