呂忠亭 崔巍 劉洋 張婕
摘要:針對各應用系統之間存在的數據規范標準、數據庫類型及身份認證體系等方面存在的差異,提出進行統一身份認證系統建設,建立智慧門戶、統一應用系統入口及實現單點登錄。研究了數據編碼標準,形成數據標準規范;對比分析了統一身份認證系統相關技術,提出了統一身份認證系統建設方案。研究成果可為高職院校進行數據治理、業務系統融合和數據共享提供一定的方法借鑒。
關鍵詞:數據標準;統一身份認證;單點登錄;數據治理;數據共享
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2020)21-69-4

0引言
近些年來,高職院校信息化建設發展迅猛。自2015年教育部辦公廳印發《高等職業院校內部質量保證體系診斷與改進指導方案(試行)》(教職成司函〔2015〕168號)文件以來,信息化建設進入了一個快速軌道,各業務系統如雨后春筍般得以新建。因此,系統之間基礎數據共享的需求顯得尤為突出[1]。然而,不同業務系統由不同廠家建設,數據庫類型、編碼標準和身份認證體系等方面存在差異,用戶登錄業務系統需要面對不同認證界面,記憶不同規則的口令和密碼。這不僅造成使用不便、效率低下,而且使系統管理員的管理難度越來越大,成為阻礙校園信息化發展的瓶頸。此外,各業務系統均是基于不同功能所建,“部門壁壘”“數據孤島”等現象嚴重,無法實現數據共享。特別是隨著數字化校園的不斷發展,這個問題顯得尤為突出[2-3]。因此,迫切需要進行統一身份認證系統建設,實現業務系統資源整合,形成校內數據統一編碼規范、統一認證門戶,實現單點登錄(Single Sign On,SSO)[4-5]。
1數據編碼規范
高職院校智慧校園建設不能單純地進行系統更替、建設數據交換協議和接口來實現資源整合和數據共享,必須建設規范的編碼體系[6]。數據編碼標準不僅可為校內信息系統建設提供類似數據庫字典的作用,而且為信息采集、處理、交換、傳輸提供了條件,最大限度地實現信息資源共享[7]。
相比于國家建立的較完整的信息分類編碼體系,本文所涉及的編碼標準體系主要包括兩大類:學校自定義的編碼規范和學校使用的代碼規范。依照行業標準和國家標準,遵循唯一性、可擴展性、簡單性、規范性、適用性和合理性原則,形成完整的信息標準編碼規范,輸出文檔,為后期業務系統建設、數據融合和數據治理提供參照與執行標準。編碼標準體系如圖1所示。

2單點登錄技術
單點登錄是目前比較流行的用于業務系統整合的一種解決方案,在各大高校、企業得到廣泛應用。顧名思義是指用戶只需要一次登錄認證就可以訪問所有授權應用系統,有效解決了應用系統多認證方式、用戶多口令多密碼的問題,提高了系統的使用效率。目前,單點登錄技術較為成熟,主流技術有基于Cookie的驗證方式、基于Web Service的驗證方式、基于微軟活動目錄Active Directory的驗證方式和基于CAS的驗證方式。
2.1基于Cookie的驗證方式
Cookie最早由網景公司的前雇員Lou Montulli在1993年3月提出,主要應用于Web領域的認證[8]。基于Cookie的SSO認證過程主要分為2個階段[9]:第1階段,用戶通過Web頁面發送登錄請求,認證服務器驗證用戶密碼,生成令牌(Token),用戶信息被加密在里邊,頁面返回傳遞令牌;第2階段,應用服務器接收令牌,進行解密,獲取用戶信息實現登錄。Cookie認證要求各服務器擁有統一的域名,因此,安全性、穩定性較高。但也正是由于此,Cookie認證無法實現跨域登錄。
2.2基于Web Service的驗證方式
Web Service是基于網絡的、分布式的應用程序,可向外部提供一個以Web形式調用的接口。主要利用HTTP和SOAP協議,并使用JSON和XML作為數據交換協議,所有的數據以ASCII文本的形式呈現,易于理解、便于開發。此外,對用戶而言,只需要一個特定的URL就可獲取相應的數據,無須關心背后的實現邏輯或所在平臺。Web Service僅提供符合標準的數據服務,與操作系統無關,可部署在大多數操作系統上。因此,基于Web Service的驗證方式得到廣泛應用。
但是,由于Web Service采用文本形式表示數據,所以當交換數據量比較大時,對網絡帶寬和服務器的性能要求比較高。如果認證服務器宕機,則用戶無法進行單點登錄。
2.3基于Active Directory的驗證方式
Active Directory是面向Windows Standard Server,Windows Enterprise Server,Windows Datacenter Server的目錄服務。不能運行在Windows Web Server上,但可以對Windows Web Server進行管理。Active Directory存儲了用戶的身份屬性,管理員和用戶能夠輕松地查找和進行身份認證。同其他目錄數據庫一樣,采用結構化的數據存儲方式,并以此作為基礎對目錄信息進行合乎邏輯的分層組織。
基于Active Directory的驗證方式操作簡單、授權靈活,并且用戶驗證與Windows驗證綁定在一起,用戶登錄到Windows就可以登錄各應用程序,無需再次輸入認證口令和密碼,管理十分方便。但是Active Directory驗證方式對認證服務器性能要求高,無法兼容非Windows操作系統,認證服務器一旦故障,所有應用都無法使用。
2.4基于CAS的驗證方式
中央認證服務(Central Authentication Service,CAS)是Yale大學發起的一個開源項目,旨在為Web應用系統提供一種可靠的單點登錄解決方案,在2004年12月正式成為JA-SIG的一個項目。
CAS包括CAS Server和CAS Client兩部分。CAS Server需要獨立部署,負責用戶認證;CAS Client部署在業務系統的Web應用中,以Filter方式保護受保護的資源,負責處理對客戶端受保護資源的Web請求,工作流程如圖2所示。

Step1:用戶發送訪問應用系統提供的受保護資源Web請求;
Step2:CAS Client過濾從用戶客戶端過來的Web請求,并分析HTTP請求中是否包含請求Service Ticket,如果沒有,說明該用戶未經過認證,CAS Client重定向請求到CAS Server,并傳遞Service Ticket;
Step3:驗證用戶身份信息,如果正確,CAS Server產生一個隨機Service Ticket,并緩存在本地,同時為客戶端瀏覽器設置一個Ticket Granted Cookie;
Step4:重定向用戶到CAS Client;
Step5:CAS Client收到Service Ticket和新產生的Ticket Granted Cookie后,與CAS Server進行身份核驗;
Step6:驗證票據合法性,通過后返回用戶信息,實現登錄。
基于CAS的驗證方式安全、高效、部署成本低,得到廣泛應用。但是,修改Web應用子系統較復雜,系統管理員無法獨立完成,需要依賴廠家支持。
3數據庫技術分析
數據庫系統是數據中心的核心,是整個系統設計的重要內容[10]。目前,主流的數據庫技術主要有目錄型數據庫(如LDAP,eDirectory,IBM Directory)和關系型數據庫(如MySQL,SQL Server,Oracle等)。關系型數據庫適合存儲業務數據和用戶數據,讀寫速率較快,查詢和統計方便;目錄型數據庫適合存儲組織結構和用戶信息,數據讀取速度非常快,尤其是數據量達到千萬、億數量級,更能體現出目錄型數據庫查詢數據的優勢,但寫速度比較慢。因此,在具體應用過程中往往是將二者結合起來使用,以達到最優效果。
目前,統一身份認證系統數據庫一般采用輕量目錄訪問協議(Lightweight Directory Access Protocol,LDAP)。LDAP是基于簡化版的X.500標準,可以用來構建復雜的分布式目錄結構,存儲各種類型的數據,提供高效的數據訪問與查詢服務。此外,LDAP支持的是TCP/IP協議,基于C/S模式,能方便地訪問Internet,因而,在業界得到廣泛應用[11-13]。
4統一身份認證系統設計方案
4.1智慧門戶
智慧門戶,也叫信息門戶平臺、網上辦事大廳、應用管理平臺,是數字化校園的總入口,有效解決了分散信息系統和應用系統的集成與整合,為全校師生提供統一、便捷、不同風格的Web入口。本文采用微服務、輕應用架構、松耦合方式,通過API接口實現對各應用系統業務、流程、功能和數據集成,基于網絡途徑,把各部門新聞、通知、公告等內容整合,統一到智慧門戶;按照不同用戶,設計不同登錄風格界面,分配相應電子身份認證信息;統一任務中心和消息中心;采用OAuth2.0開放標準協議,實現所有用戶統一授權、用戶集中管理、訪問集中控制。所有用戶通過登錄智慧門戶實現一次登錄、一網通辦,提高辦事效率,增加用戶體驗感。
4.2統一身份認證解決方案
針對各應用系統之間存在的數據規范標準、數據庫類型、身份認證體系等方面存在的差異,提出統一身份認證解決方案,如圖3所示。

方案基于CAS和Nginx反向代理方式實現統一身份認證,保留各系統原有認證方式。Nginx服務器為雙部署做負載均衡,負責轉發用戶Web請求。2臺認證服務器做集群,保證認證系統高效、穩定,提供認證服務。數據庫采用LDAP與Oracle組合方式。LDAP數據庫存儲用戶賬號、密碼、組織架構等信息,負責認證和用戶電子身份管理,雙部署,互為主備,且支持雙向復制,保證系統穩定性;Oracle數據庫存儲用戶賬號和系統運行日志,不存儲密碼,目的在于提供靈活高效的身份管理功能和平臺日志數據統計與審計功能。
身份認證管理平臺為不同電子身份的用戶提供統一登錄界面,對賬號和密碼進行驗證,進而為集成的應用系統提供訪問控制權限。此外,創建并維護用戶的單點登錄會話,響應應用系統發出的單點登錄會話查詢,滿足用戶在系統之間的單點登錄。同時,負責用戶賬號信息的維護與管理。Redis是緩存服務器,當用戶第一次登錄智慧門戶進行認證后,會將用戶認證信息保存在Redis服務器本地,再次登錄平臺時,Redis服務器可直接提供認證功能,進而大大縮短認證時間,增加用戶體驗感。
當然,根據業務量、用戶人數和平臺訪問次數的多少,Redis服務器、身份認證管理平臺和Oracle數據庫也可實現集群部署,實現負載均衡或熱備,提高平臺的穩定性和數據的安全性。
5結束語
不同應用系統存在數據標準、認證方式、口令長度與規則等方面的差異,給應用系統融合、用戶使用和管理員維護帶來諸多不便;部門壁壘、數據孤島、數據碎片化等現象嚴重。本文提出統一身份認證解決方案、制定編碼規范體系,為應用系統建設提供類似數據庫字典的作用,對應用系統融合、數據治理和共享具有重要意義。智慧門戶平臺為用戶提供統一登錄界面,統一入口,實現了應用系統的集成與整合。隨著數字化校園的不斷發展,高校教學、科研、管理對數據的需求越發突出,因此,數據治理、數據中臺、校本共享大數據中心建設必將成為智慧校園推進的重點。
參考文獻
[1]王斌.高職數字化校園數據整合設計與實現[D].廣州:華南理工大學,2015.
[2]王蓓蓓.面向高職院校的統一身份認證系統研究[J].信息技術與信息化,2012(4):55-58.
[3]王磊,常樂,姜立.數字化校園統一身份認證系統設計研究[J].遼寧高職學報,2013,15(5):91-93.
[4]賀超波,陳啟買,歐陽輝.數字化校園門戶平臺統一身份認證的實現[J].現代計算機(專業版),2008(12):25-28.
[5]趙菁.基于企業門戶統一認證系統的設計與實現[J].信息安全與技術,2012,3(8):27-29.
[6]晞張,魏勝能.構建高職院校信息流程化管理平臺的策略[J].職大學報,2007(4):42-44,135.
[7]馮黔華.基于LDAP認證的保險數據交互中心建設[D].上海:復旦大學,2010.
[8]王小紅.基于Cookie的單點登錄認證機制實現[J].重慶工商大學學報(自然科學版),2014,31(8):73-78.
[9]馮偉華,劉亞麗.基于Cookie的統一認證系統的設計與實現[J].計算機工程與設計,2010,31(23):4971-4975.
[10] BLINN JF, NEWELL M E. Texture and Reflection in ComputerGeneratedImage[J].CommunicationoftheACM, 1976,19(10):542-547.
[11]劉馨瓊,夏平.基于LDAP服務器的B/S框架設計與實現[J].三峽大學學報(自然科學版),2007(3):260-264.
[12]張新曼.精通JSP-Web開發技術與典型應用[M].北京:人民郵電出版社,2007.
[13]王倩宜,李潤娥,李庭晏.統一用戶管理和身份認證服務的設計與實現[J].實驗技術與管理,2004(3):7-12.