周青松
(云南省圖書館,云南 昆明 650031)
為用戶提供個性化、深層次的服務,是建設數(shù)字圖書館的根本目的。但用戶在不同的數(shù)字圖書館平臺上獲取信息,需要進行多次注冊,這影響了用戶訪問數(shù)字圖書館資源的積極性。隨著數(shù)字圖書館向跨平臺、跨媒體發(fā)展,建立統(tǒng)一認證系統(tǒng),為用戶提供一體化服務,成為目前數(shù)字圖書館研究的一個熱點。統(tǒng)一認證系統(tǒng)不僅能夠有效解決各個系統(tǒng)之間用戶管理和安全認證的差異問題,便于增強認證的安全性,給用戶一個統(tǒng)一的使用界面,而且能夠有效解決用戶信息同步問題,降低系統(tǒng)的復雜性和管理成本,提高系統(tǒng)管理效率,極大地促進數(shù)字圖書館的建設與發(fā)展。
數(shù)字圖書館集成多資源、多服務、多媒體的特點決定了數(shù)字圖書館本身是一個多系統(tǒng)的集合體,即是一個系統(tǒng)集群。在數(shù)字圖書館體系架構(如圖1)中,應用層中的各個應用系統(tǒng)相對獨立,可以單獨運行,影響使用的主要因素在于各個應用系統(tǒng)的用戶管理和登錄認證方式。如果要讓各個應用系統(tǒng)集成在一起,統(tǒng)一運行和方便用戶使用,就必須在服務層建立統(tǒng)一認證系統(tǒng),然后通過數(shù)字圖書館門戶發(fā)布,供用戶使用。
數(shù)字圖書館統(tǒng)一認證系統(tǒng)是指運用相關的技術手段對系統(tǒng)群內(nèi)各個應用系統(tǒng)的用戶管理和認證系統(tǒng)進行整合集成,而建立能夠?qū)ο到y(tǒng)群中的各個應用系統(tǒng)的用戶信息進行統(tǒng)一管理和認證的應用系統(tǒng)。
該系統(tǒng)能克服數(shù)字圖書館系統(tǒng)群中不同系統(tǒng)由于用戶管理和認證差異帶來的使用和管理不便的弊端,具有以下特點:第一,能夠?qū)ο嚓P系統(tǒng)群內(nèi)的用戶信息進行集中統(tǒng)一管理,有效解決各系統(tǒng)用戶信息的信息同步問題,保證用戶信息的規(guī)范、一致和準確;第二,方便用戶使用。用戶只需一次登錄,就可以使用系統(tǒng)群中的各個應用系統(tǒng);第三,能有效避免對現(xiàn)有系統(tǒng)進行大規(guī)模的修改,把分散管理變?yōu)榧泄芾?,提高了系統(tǒng)的安全性,降低管理成本;第四,便于擴展。由于統(tǒng)一認證通過標準的接口與系統(tǒng)群內(nèi)的應用系統(tǒng)進行整合集成,只要新加入的系統(tǒng)按標準調(diào)用接口,就可以加入到統(tǒng)一認證系統(tǒng)集成的系統(tǒng)群中。同時,新加入的系統(tǒng)可以不帶用戶系統(tǒng),也能等價實現(xiàn)用戶管理和認證的功能。
數(shù)字圖書館統(tǒng)一認證系統(tǒng)主要有三大功能:(1)用戶信息管理功能,包括用戶注冊、管理用戶信息、管理用戶角色與權限;(2)應用系統(tǒng)與接口管理功能,即實現(xiàn)與集成的應用系統(tǒng)的對接和管理;(3)用戶認證功能,即采用合適的用戶認證技術和方式實現(xiàn)用戶認證,記錄和管理用戶登錄日志。
數(shù)字圖書館統(tǒng)一認證系統(tǒng)是在對用戶信息進行管理的基礎上,通過定制的標準接口與系統(tǒng)群內(nèi)的各系統(tǒng)進行用戶認證信息交互和用戶賬號映射,實現(xiàn)用戶認證和權限管理,從而對系統(tǒng)群內(nèi)的各系統(tǒng)進行有效整合。其中,尤以定制標準接口最為關鍵。接口實現(xiàn)的方式主要有兩種:一是基于HTTP協(xié)議進行參數(shù)傳遞的方式。這種方式方便簡單,但缺點是功能比較單一,安全性不強;二是基于webservice調(diào)用的方式。Webservice是一種通過web部署方式對業(yè)務功能進行訪問的技術,并且是自包含、自描述、模塊化的應用。它是一種新型的分布式計算模式,是解決互操作、應用集成(EI)等需求的良好方案,并以其良好的跨平臺能力以及開放、簡單、分布式等特點得到越來越廣泛的應用,具有良好的安全性。這種方式只是在構建開發(fā)上比第一種方式復雜??梢钥闯?,基于webservice調(diào)用的方式將逐漸成為數(shù)字圖書館統(tǒng)一認證系統(tǒng)進行接口開發(fā)和定制的主要方式。
數(shù)字圖書館統(tǒng)一認證系統(tǒng)一般有三種實現(xiàn)模式,即認證組件、單點登錄和信任代理。
2.2.1 認證組件模式
認證組件模式是統(tǒng)一認證系統(tǒng)作為應用系統(tǒng)的一個身份認證組件的方式進行工作,在這種模式下,應用系統(tǒng)本身不存在用戶系統(tǒng)或并不使用應用系統(tǒng)本身的用戶系統(tǒng),其相應的用戶賬號信息全部保存在統(tǒng)一認證系統(tǒng)上。如圖2所示,認證組件模式具體的實現(xiàn)過程為:用戶使用在統(tǒng)一認證系統(tǒng)注冊過的用戶信息,包括用戶名和密碼,或者是其他的注冊授權信息,登錄對應的應用系統(tǒng);應用系統(tǒng)把用戶登錄信息和應用系統(tǒng)通過的標識一起轉(zhuǎn)發(fā)給統(tǒng)一認證系統(tǒng),需要進行有關登錄操作;統(tǒng)一認證系統(tǒng)查看應用系統(tǒng)注冊庫,檢查該應用系統(tǒng)是否已經(jīng)在統(tǒng)一認證系統(tǒng)中注冊過,并查詢用戶注冊庫核查轉(zhuǎn)發(fā)過來的用戶認證信息;核查完成后,統(tǒng)一認證系統(tǒng)回應應用系統(tǒng),完成登錄操作;應用系統(tǒng)按照系統(tǒng)自身的機制建立一個對應的系統(tǒng)會話,然后把應用系統(tǒng)自身的訪問令牌回傳或返回給訪問用戶,用戶便能通過該返回的訪問令牌對此應用系統(tǒng)進行持續(xù)訪問,直到系統(tǒng)退出或會話超時。
2.2.2 單點登錄模式
單點登錄模式是統(tǒng)一認證系統(tǒng)作為應用系統(tǒng)的核心的方式進行工作,在這種模式下,用戶登錄統(tǒng)一認證系統(tǒng)后,便能使用所有在統(tǒng)一認證系統(tǒng)注冊過并支持統(tǒng)一認證的相關應用系統(tǒng)。如圖3所示,單點登錄模式具體的實現(xiàn)過程為:用戶利用在統(tǒng)一認證系統(tǒng)注冊過的用戶信息,包括用戶和密碼,或者是其他的注冊授權信息,登錄統(tǒng)一認證系統(tǒng);通過認證以后,統(tǒng)一認證系統(tǒng)便會創(chuàng)建一個系統(tǒng)會話,并把和該會話有關的訪問認證令牌返回給訪問用戶;用戶使用該令牌對支持統(tǒng)一認證的應用系統(tǒng)進行訪問;應用系統(tǒng)將相應的訪問認證令牌傳送給統(tǒng)一認證系統(tǒng),請求統(tǒng)一認證系統(tǒng)檢查令牌的有效性;統(tǒng)一認證系統(tǒng)確認令牌的有效性;在確認令牌有效的情況下,應用系統(tǒng)接收用戶訪問,直到退出系統(tǒng)或會話超時,令牌失效。應用系統(tǒng)也可以返回一個自身的令牌,以提高訪問效率。
2.2.3 信任代理模式
信任代理模式是對應用系統(tǒng)的訪問全部由統(tǒng)一認證系統(tǒng)代理的使用模式。此時,所有相關的應用系統(tǒng)只接收從統(tǒng)一認證系統(tǒng)來的訪問請求,不接收用戶直接提交的請求,與用戶直接交互,這樣可以集中進行安全管理,在統(tǒng)一認證系統(tǒng)端部署主要的安全投入。如圖4所示,信任代理模式具體的實現(xiàn)過程為:訪問用戶利用在統(tǒng)一認證系統(tǒng)注冊過的用戶信息,包括用戶名和密碼,或者是其他的注冊授權信息,登錄統(tǒng)一認證系統(tǒng);通過認證后,統(tǒng)一認證系統(tǒng)便會創(chuàng)建一個系統(tǒng)會話,并把與該會話有關的訪問認證令牌返回給用戶;訪問用戶用返回的令牌訪問支持統(tǒng)一認證的應用系統(tǒng),但不直接把訪問請求傳遞給應用系統(tǒng),而是傳遞給統(tǒng)一認證系統(tǒng),并在請求中包含要訪問的應用系統(tǒng)的ID;統(tǒng)一認證系統(tǒng)接受請求后,查詢應用系統(tǒng)注冊庫,對要訪問的應用系統(tǒng)是否支持統(tǒng)一認證進行確認;通過確認后,統(tǒng)一認證系統(tǒng)將應用請求轉(zhuǎn)發(fā)給要訪問的應用系統(tǒng);相應的應用系統(tǒng)對請求進行處理,并把處理結果返回給統(tǒng)一認證系統(tǒng),最后,統(tǒng)一認證系統(tǒng)把響應消息返回給用戶,完成訪問調(diào)用。
在數(shù)字圖書館統(tǒng)一認證系統(tǒng)的三種實現(xiàn)模式中,一般采用組件認證模式和單點登錄模式相結合的方式,而信任代理模式一般適用于對安全要求比較高的系統(tǒng),雖然安全性很高,但是其性能也會受到一定的影響。
要設計既符合實際和要求又方便、經(jīng)濟、實用的統(tǒng)一認證系統(tǒng),需要把握好四個設計原則:第一,要具備良好兼容性和系統(tǒng)兼容性以及有較好的可行性和經(jīng)濟的平臺;第二,要便于擴展,能夠適應未來發(fā)展的需要;第三,系統(tǒng)要具備良好的安全性,能滿足應用安全需求;第四,要綜合權衡,合理規(guī)劃系統(tǒng)功能,分步實施。
數(shù)字圖書館統(tǒng)一認證系統(tǒng)的設計思路是:第一,對需要進行統(tǒng)一認證的應用系統(tǒng)進行調(diào)查研究,掌握各應用系統(tǒng)的相關技術細節(jié);第二,根據(jù)各個應用系統(tǒng)自身的實際情況,分析并確定需要進行統(tǒng)一管理的用戶信息、認證實現(xiàn)方式、權限控制和映射等,規(guī)劃系統(tǒng)功能,畫出系統(tǒng)流程圖;第三,確定實施的方法和步驟。
數(shù)字圖書館統(tǒng)一認證系統(tǒng)建設是數(shù)字圖書館建設中一項十分重要的內(nèi)容,是數(shù)字圖書館各子系統(tǒng)連接整合的紐帶。數(shù)字圖書館統(tǒng)一認證系統(tǒng)的建設,是實現(xiàn)數(shù)字圖書館內(nèi)部系統(tǒng)的有機整合以及與外部系統(tǒng)的有機互聯(lián)的基礎,是擴大數(shù)字圖書館的功能,促進數(shù)字圖書館的建設與發(fā)展的動力。
[1]Web服務實戰(zhàn):統(tǒng)一身份認證服務[EB/OL].[2011-11-17].http://www.qs-168.com/computer/base/2924.html.
[2]郭慶軍,周坤.統(tǒng)一用戶認證系統(tǒng)的設計與實施[J].山東電力技術,2009(5):78-80.
[3]郭楚杰.數(shù)字化校園中統(tǒng)一身份認證平臺的設計[J].湖南工業(yè)大學學報,2010(3):77-80.
[4]胡澤,廖聞劍,彭艷兵.WebService技術研究及應用[J].硅谷,2009(5):48-48.
[5]李捷,李杰.WebService及其相關技術初探[J].九江職業(yè)技術學院學報,2010(2):27-28.
[6]楊靈,鄒娟.基于Web Services的統(tǒng)一認證系統(tǒng)研究與實現(xiàn)[J].現(xiàn)代計算機(專業(yè)版),2009(11):195-197.