(教育技術(shù)學(xué)專業(yè)論文)基于jasig+cas的統(tǒng)一認證平臺研究及其系統(tǒng)設(shè)計和實現(xiàn).pdf_第1頁
(教育技術(shù)學(xué)專業(yè)論文)基于jasig+cas的統(tǒng)一認證平臺研究及其系統(tǒng)設(shè)計和實現(xiàn).pdf_第2頁
(教育技術(shù)學(xué)專業(yè)論文)基于jasig+cas的統(tǒng)一認證平臺研究及其系統(tǒng)設(shè)計和實現(xiàn).pdf_第3頁
(教育技術(shù)學(xué)專業(yè)論文)基于jasig+cas的統(tǒng)一認證平臺研究及其系統(tǒng)設(shè)計和實現(xiàn).pdf_第4頁
(教育技術(shù)學(xué)專業(yè)論文)基于jasig+cas的統(tǒng)一認證平臺研究及其系統(tǒng)設(shè)計和實現(xiàn).pdf_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

(教育技術(shù)學(xué)專業(yè)論文)基于jasig+cas的統(tǒng)一認證平臺研究及其系統(tǒng)設(shè)計和實現(xiàn).pdf.pdf 免費下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

摘要 摘要 隨著互聯(lián)網(wǎng)絡(luò)的發(fā)展,越來越多的w e b 應(yīng)用程序被用于支持各種機構(gòu)的日常 工作。在一些教育系統(tǒng)、政府和企事業(yè)等組織,由于不斷地引進各類系統(tǒng),不同 系統(tǒng)又分別具有獨立的用戶管理和認證子系統(tǒng),因而管理不同系統(tǒng)用戶的工作隨 著系統(tǒng)和用戶數(shù)量的增長越來越顯得繁重。對于系統(tǒng)終端用戶而言,同一機構(gòu)的 不同業(yè)務(wù)系統(tǒng)需要重復(fù)的注冊和認證,不僅使用上不方便并且容易造成混亂。為 上述大型機構(gòu)提供一個可靠的統(tǒng)一用戶身份認證機制、使其能夠進行統(tǒng)一的用戶 信息( 登錄名、用戶密碼以及各系統(tǒng)公用的用戶屬性信息) 管理是本文研究的主 要問題。 本文首先調(diào)研和分析了主流的統(tǒng)一認證平臺單點登錄解決方案的技術(shù)基礎(chǔ), 并對各方案的優(yōu)點與缺點進行了分析。其次,從統(tǒng)一認證平臺的功能需求、性能 需求、開發(fā)模式、架構(gòu)方案、技術(shù)開發(fā)框架和系統(tǒng)配置環(huán)境等軟件工程角度,對 統(tǒng)一認證平臺做了分析與設(shè)計,依據(jù)系統(tǒng)需求提出了系統(tǒng)的數(shù)據(jù)庫設(shè)計與系統(tǒng)設(shè) 計框架結(jié)構(gòu)。再次,論述了基于j a - s i gc a s 的統(tǒng)一認證平臺的認證應(yīng)用思想與 技術(shù)方法,剖析了基于j a - s i gc a s 的統(tǒng)一認證平臺各模塊的設(shè)計與實現(xiàn)。接著, 從高性能需求的角度探討了統(tǒng)一認證平臺的可延展部署架構(gòu)。最后,作者對本文 的研究結(jié)論進行概括,并指出研究中存在的問題,給后續(xù)研究者提供參考。 作者期望基于j a - s i gc a s 的統(tǒng)一認證平臺能夠為大型提供支持多平臺的優(yōu) 化的應(yīng)用系統(tǒng)整合方案,提高用戶的系統(tǒng)管理效率。 關(guān)鍵詞:j a - s i gc a s 單點登錄統(tǒng)一認證 a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t ,m o r ea n dm o r ew e ba p p l i c a t i o n sa r eu s e d a st h ei n f r a s t r u c t u r eo fm a n yo r g a n i z a t i o n st os u p p o r tt h e i re v e r y d a yw o r k h o w e v e r , b e c a u s en e ws y s t e m sw h i c hh a v et h e i ro w nu s e rm a n a g e m e n ta n da u t h e n t i c a t i o n s u b s y s t e m sa r ec o n s t a n t l y i n t r o d u c e di n t o l a r g eo r g a n i z a t i o n ss u c ha ss c h o o l s , g o v e r n m e n t sa n db u s i n e s sf i r m s ,m a n a g i n gu s e r sf r o md i f f e r e n ts y s t e m si no n e o r g a n i z a t i o n b e c o m e sm o r ea n dm o r ed i f f i c u l t b e s i d e s ,w i t h o u tac e n t r a l a u t h e n t i c a t i o ns o l u t i o nt h ee n d - u s e r so fs u c hs y s t e m sw i l lh a v et or e g i s t e ra n dl o g i n m u l t i p l et i m e si ft h e yw a n tt ou s ed i f f e r e n ts e r v i c e sp r o v i d e db yt h es a m eo r g a n i z a t i o n , w h i c hi si n c o n v e n i e n ta n dc o n f u s i n g t h i st h e s i sa t t e m p tt op r o v i d ear e l i a b l ec e n t r a l u s e ra u t h e n t i c a t i o nm e c h a n i s mf o rs u c h l a r g eo r g a n i z a t i o n t o m a n a g e u s e r i n f o r m a t i o n ,i n c l u d i n gu s e m a m e s ,p a s s w o r d sa n do t h e ra t t r i b u t e ss h a r e da m o n g a p p l i c a t i o n s ,i na o n ep l a c e t h et h e s i ss t a r t sw i t ht h er e s e a r c ho fp o p u l a rs i n g l es i g n - o ns o l u t i o n sa n dt h e c o m p a r i s o n so fd i f f e r e n ts o l u t i o n s a f t e rt h a t ,t h ed a t a b a s ed e s i g na n do v e r a l ls y s t e m a r c h i t e c t u r eo ft h ec e n t r a la u t h e n t i c a t i o no fp l a t f o r mi sp r o p o s e db a s e du p o nt h e a n a l y s i so fs y s t e mr e q u i r e m e n t s a f t e r w a r d s ,t h ec a sp r o t o c o la n dd e t a i l e dd e s i g no f c e n t r a la u t h e n t i c a t i o np l a t f o r mb a s e do nj a s i gc a si se x p l a i n e d f o l l o w i n gt h a t , t h ea p p l i c a t i o ni n t e g r a t i o np l a ni si n t r o d u c e dw i t ht w oe x a m p l e so fr e a ls y s t e m s a l s o f o ro r g a n i z a t i o n st h a th a v ec r i t i c a lr e q u i r e m e n t sf o r t h ep e r f o r m a n c eo ft h e i rs y s t e m s , h i g hp e r f o r m a n c ea r c h i t e c t u r eo ft h ec e n t r a la u t h e n t i c a t i o np l a t f o r mi s d i s c u s s e d f i n a l l y , t h ei n s u f f i c i e n c i e so ft h es y s t e ma r es u m m a r i z e da n dt h ea s p e c t sf o rt h e i m p r o v e m e n to ft h es y s t e ma r ep r o p o s e df o rf u r t h e rr e s e a r c h t h ec e n t r a la u t h e n t i c a t i o np l a t f o r mb a s e do nj a s i gc a si se x p e c t e dt ob ea c o m p l e t ea n do p t i m i z e dc e n t r a la u t h e n t i c a t i o na n du s e rm a n a g e m e n ts y s t e mt h a tc a n b ei n t e g r a t e de a s i l yw i t ha p p l i c a t i o n sr u n n i n go nm u l t i p l eo p e r a t i n gs y s t e m s k e y w o r d s :j a s i gc a s ,s s o ,c e n t r a la u t h e n t i c a t i o n i i 中國科學(xué)技術(shù)大學(xué)學(xué)位論文原創(chuàng)性和授權(quán)使用聲明 本人聲明所呈交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下進行研究工作 所取得的成果。除已特另t i d n 以標(biāo)注和致謝的地方外,論文中不包含任 何他人已經(jīng)發(fā)表或撰寫過的研究成果。與我一同工作的同志對本研究 所做的貢獻均己在論文中作了明確的說明。 本人授權(quán)中國科學(xué)技術(shù)大學(xué)擁有學(xué)位論文的部分使用權(quán),即:學(xué) 校有權(quán)按有關(guān)規(guī)定向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子 版,允許論文被查閱和借閱,可以將學(xué)位論文編入有關(guān)數(shù)據(jù)庫進行檢 索,可以采用影印、縮印或掃描等復(fù)制手段保存、匯編學(xué)位論文。 保密的學(xué)位論文在解密后也遵守此規(guī)定。 作者簽名:墨筮翻 帥年月歹日 第1 章引言 1 1 問題的提出 第1 章引言 由于互聯(lián)網(wǎng)的發(fā)展和普及,許多大型機構(gòu)如教育、政府部分、企事業(yè)單位等 越來越多地采用了基于w e b 的應(yīng)用系統(tǒng)以支撐機構(gòu)內(nèi)部的業(yè)務(wù)流程或向終端用 戶提供各類信息服務(wù),例如,在一個教育機構(gòu)中可能存在各種學(xué)生學(xué)習(xí)系統(tǒng)、課 程管理系統(tǒng)、學(xué)生學(xué)籍信息管理系統(tǒng)、內(nèi)容管理系統(tǒng)、郵件系統(tǒng)等等,這些系統(tǒng) 可能在不同時期開發(fā)部署,運行于不同的平臺上,大多具有獨立的用戶管理子系 統(tǒng)和管理界面,如果缺乏一個統(tǒng)一的認證機制,系統(tǒng)管理員管理多系統(tǒng)用戶的工 作將隨著新系統(tǒng)的引入變得越來越繁重。這種情況下對于最終用戶而言也存在同 樣的問題,使用同一機構(gòu)的不同服務(wù)意味著要進行重復(fù)的用戶注冊和身份認證, 使用上不僅不方便而且容易造成混亂。 單點登錄( s i n g l es i g n - o n ,簡稱s s o ) 就是為解決多系統(tǒng)統(tǒng)一認證問題而 產(chǎn)生的技術(shù)。單點登錄是存在于多個相關(guān)但互相獨立的軟件系統(tǒng)的一種訪問控制 方式,用戶訪問支持單點登錄的多個系統(tǒng)只需在訪問第一個系統(tǒng)的時候登錄一 次,訪問其他系統(tǒng)時則不會被要求再進行身份認證。單點注銷( s i n g l es i g n - o f f ) 則是一個相反的過程,用戶從一個系統(tǒng)注銷之后對于其他系統(tǒng)的訪問權(quán)限也同時 被收回。 在大型機構(gòu)中支持單點登錄和單點注銷具有如下益處: 第一,方便終端用戶。避免多次輸入用戶名密碼組合帶來的所謂的“密碼 疲勞”現(xiàn)象,同時節(jié)省用戶重復(fù)進行身份認證的時間。 第二,降低客服成本。用戶只需記住一個密碼,向客服尋求幫助找回密碼的 需求大大降低。 第三,統(tǒng)一用戶管理界面,降低系統(tǒng)管理成本。 第四,在系統(tǒng)中支持單點注銷可以增強用戶安全性,避免由于用戶忘記從某 個系統(tǒng)注銷而引起的安全問題。 第五,由于使用統(tǒng)一用戶信息存儲后端和身份認證入口,便于對用戶行為進 行數(shù)據(jù)統(tǒng)計。 第l 章引言 統(tǒng)一認證服務(wù)( c e n t r a la u t h e n t i c a t i o ns e r v i c e ,簡稱c a s l ) 是其中一種 用于w e b 的s s o 協(xié)議,基于此協(xié)議的服務(wù)器軟件主要有兩種實現(xiàn):使用j a v a 實 現(xiàn)的j a s i gc a s 和使用r u b y 實現(xiàn)的r u b yc a s s e r v e r 2 。 目前,針對基于c a s 協(xié)議的單點登錄系統(tǒng)的研究并不少見,但大多側(cè)重于協(xié) 議本身和認證接口的分析,缺乏解決涉及應(yīng)用整合各方面問題的完整的方案和實 現(xiàn)。本文作者在為國內(nèi)某大型教育出版社研究解決多系統(tǒng)認證問題的過程中,期 望能基于c a s 實現(xiàn)包括應(yīng)用系統(tǒng)管理以及用戶管理系統(tǒng)在內(nèi)的一個完整的統(tǒng)一 認證平臺,研究和解決的問題如下: 問題一:提供支持多平臺的優(yōu)化的應(yīng)用系統(tǒng)整合方案, 問題二:實現(xiàn)統(tǒng)一的用戶管理后臺。 問題三:實現(xiàn)面向系統(tǒng)用戶的用戶信息管理模塊。 問題四:提供平臺核心模塊擴展定制的方案實例。 問題五:提供高性能平臺部署方案以應(yīng)對高負載高性能需求。 1 2 研究方法 本文主要采用了文獻調(diào)研法、對比研究法、系統(tǒng)實踐法等方法來進行可行性 分析與系統(tǒng)設(shè)計開發(fā)。 第一,文獻調(diào)研法,對現(xiàn)有的統(tǒng)一認證的解決方案進行調(diào)研,了解其應(yīng)用思 想與技術(shù)實現(xiàn)。 第二,對比研究法,對現(xiàn)有的統(tǒng)一認證的各種解決方案進行對比分析,了解 各種解決方案的優(yōu)點與缺點。 第三,實踐法,在為國內(nèi)某大型教育出版社研究解決多系統(tǒng)認證問題的過程 中開發(fā)基于j a - s i gc a s 的統(tǒng)一認證平臺。 1 3 研究內(nèi)容 本文首先調(diào)研和分析了主流的統(tǒng)一認證平臺單點登錄解決方案的技術(shù)基礎(chǔ)。 并對各方案的優(yōu)點與缺點進行了分析。其次從統(tǒng)一認證平臺的功能需求、性能需 求、開發(fā)模式、架構(gòu)方案、技術(shù)開發(fā)框架、系統(tǒng)配置環(huán)境等軟件工程角度對統(tǒng)一 認證平臺做了軟件分析與設(shè)計,依據(jù)系統(tǒng)需求提出了系統(tǒng)的數(shù)據(jù)庫設(shè)計與系統(tǒng)設(shè) 1 由于縮寫c a s 既可以表示c a s 協(xié)議,又可以表示j a - s i gc a s ( 即c a s 服務(wù)器軟件) ,為了避免混淆, 在本文中我們約定:如果沒有特別標(biāo)明c a s 協(xié)議,c a s 縮寫均表示j a - s i gc a s 。 2 h t t p :c o d e g o o g le c o r n p r u b y c a s s e r v e r 2 第1 章引言 計框架結(jié)構(gòu)。再次論述了基于j r s i gc a s 的統(tǒng)一認證平臺的認證應(yīng)用思想與技 術(shù)方法,剖析了基于j a - s i gc a s 的統(tǒng)一認證平臺的各個子模塊的設(shè)計與實現(xiàn)。 接著,從性能優(yōu)化設(shè)計的角度對基于j a - s i gc a s 的統(tǒng)一認證平臺做了系能優(yōu)化, 構(gòu)造高可用性統(tǒng)一認證平臺。最后作者對本文的研究結(jié)論進行概括,并指出研究 中存在的問題,給后續(xù)研究者提供參考。 1 4 研究意義 目前針對基于c a s 協(xié)議的單點登錄系統(tǒng)的研究并不少見,但大多側(cè)重于協(xié)議 本身和認證接口的分析,缺乏解決涉及應(yīng)用整合各方面問題的完整的方案和實 現(xiàn)。本文提出的基于j a s i gc a s 的統(tǒng)一認證平臺從統(tǒng)一用戶認證管理以及應(yīng)用 系統(tǒng)整合出發(fā),目標(biāo)在于提供一個完整的多網(wǎng)站統(tǒng)一認證解決方案。平臺可為大 型機構(gòu)多個w e b 應(yīng)用系統(tǒng)提供統(tǒng)一的可靠用戶認證和用戶管理功能,為系統(tǒng)終端 用戶提供使用上的便利,同時為應(yīng)用系統(tǒng)開發(fā)人員提供跨平臺、多語言支持以及 便于實施的整合方案。作者同時對c a s 模塊進行性能上的優(yōu)化,提高平臺延展性 使其能夠支持高并發(fā)請求。基于j a s i gc a s 的統(tǒng)一認證平臺由于使用統(tǒng)一用戶 信息存儲后端和身份認證入口,便于對用戶行為進行數(shù)據(jù)統(tǒng)計;由于在系統(tǒng)中支 持單點注銷可以增強用戶安全性,避免由于用戶忘記從某個系統(tǒng)注銷而引起的安 全問題;同時系統(tǒng)方便終端用戶。避免多次輸入用戶名密碼組合帶來的所謂的 “密碼疲勞 現(xiàn)象,同時節(jié)省用戶重復(fù)進行身份認證的時間;由于系統(tǒng)具有統(tǒng)一 的用戶管理界面,因此能降低系統(tǒng)的管理成本,因此對于基于j a s i gc a s 的統(tǒng) 一認證平臺進行研究,具有很強的必要性與現(xiàn)實的應(yīng)用意義。 1 5 論文的邏輯結(jié)構(gòu) 本文總共分為引言、基于j r - - s i gc a s 的統(tǒng)一認證平臺的技術(shù)基礎(chǔ)、基于 j a s i gc a s 的統(tǒng)一認證平臺的分析與設(shè)計、基于j a s i gc a s 的統(tǒng)一認證平臺 的模塊設(shè)計與實現(xiàn)、基于j r - - s i gc a s 的統(tǒng)一認證平臺的性能優(yōu)化和總結(jié)與展望 共六章節(jié)內(nèi)容。各章的內(nèi)容簡述如下: 第1 章引言:陳述本文的研究背景、研究內(nèi)容、研究方法、研究意義以及 論文的邏輯結(jié)構(gòu)。 第2 章基于j a s i gc a s 的統(tǒng)一認證平臺的技術(shù)基礎(chǔ):分析了基于c a s 協(xié) 議的工作原理,并對統(tǒng)一認證平臺設(shè)計的相關(guān)技術(shù)進行了說明。 第1 章引言 第3 章基于j a - - s i gc a s 的統(tǒng)一認證平臺的分析與設(shè)計:從統(tǒng)一認證平臺 的功能需求、性能需求、開發(fā)模式、架構(gòu)方案、技術(shù)開發(fā)框架、系統(tǒng)配置環(huán)境等 軟件工程角度對統(tǒng)一認證平臺做了軟件分析與設(shè)計,依據(jù)系統(tǒng)需求提出了系統(tǒng)的 數(shù)據(jù)庫設(shè)計與系統(tǒng)設(shè)計框架結(jié)構(gòu)。 第4 章基于j a s i gc a s 的統(tǒng)一認證平臺的模塊設(shè)計與實現(xiàn):論述了基 于j a s i gc a s 的統(tǒng)一認證平臺的認證應(yīng)用思想與技術(shù)方法,剖析了基于j a - s i g c a s 的統(tǒng)一認證平臺的各個子模塊的設(shè)計與實現(xiàn)。 第5 章提出了應(yīng)用系統(tǒng)整合方案的總體思路,并以內(nèi)容管理系統(tǒng)j o o m l a ! 以及通用論壇系統(tǒng)d i s c u z 的整合為例說明了應(yīng)用系統(tǒng)整合的實際過程。 第6 章基于j a - s i gc a s 的統(tǒng)一認證平臺的系能優(yōu)化:從性能優(yōu)化設(shè)計的 角度對基于j a s i gc a s 的統(tǒng)一認證平臺做了系能優(yōu)化,構(gòu)造高可用性統(tǒng)一認證 平臺。 第7 章總結(jié)與展望:對本文的研究結(jié)論進行概括,并指出研究中存在的問 題,給后續(xù)研究者提供參考。 4 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 本章首先介紹了j a s i gc a s 的功能特點以及c a s 協(xié)議,其次介紹了基于 c a s 協(xié)議的單點注銷流程,最后對統(tǒng)一認證平臺涉及到的其他技術(shù)概念做了簡 要說明。 2 1j a - sigc a s 簡介 統(tǒng)一認證服務(wù)( c e n t r a la u t h e n t i c a t i o ns e r v i c e ,c a s ) 是一個基于w e b 的單點登錄協(xié)議。該協(xié)議的目的是允許用戶可以只經(jīng)過一次認證便可訪問多個應(yīng) 用程序,協(xié)議還允許w e b 應(yīng)用程序無需通過用戶的密碼信息而進行用戶身份認 證。c a s 這個縮寫一般還用以指代實現(xiàn)c a s 協(xié)議的軟件包,即j a - s i gc a s 。為了 避免混淆,在本文中我們約定:如果沒有特別標(biāo)明c a s 協(xié)議,c a s 縮寫均表示 j a s i gc a s 。 j a s i gc a s 具有如下特點: 支持c a s l 、c a s 2 以及s a m l 協(xié)議,允許單點登錄以及代理認證。 支持多種存儲后端,如l d a p ( 包括a c t i v ed i r e c t o r y ) 、數(shù)據(jù)庫、r a d i u s 。 支持無密碼認證,如s p n e g o n t l m 、x 5 0 9 證書等。 基于標(biāo)準(zhǔn)技術(shù)構(gòu)建的可擴展平臺架構(gòu)。使用j a v a 開發(fā)人員熟悉的工具 集,包括s p r i n g 框架、s p r i n gw e bf l o w 、m a v e n2 、j a s i gp e r s o n d i r e c t o r y 、j s p 等。 c a s 允許高可用性集群部署方式,可用以支持企業(yè)級應(yīng)用。 提供跨平臺、多語言的客戶端代碼庫支持。c a s 支持包括p h p 、j a v a 、p e r l 、 r u b y 、n e t 在內(nèi)的多種程序語言,同時提供對a p a c h e 、l l s 、p a m 等的 直接支持,并且有包括d r u p a l ,u p o r t a l 、b l u e s o c k e t 、m o o d l e 等在內(nèi) 的多個開源項目提供對c a s 的直接集成支持。 由于c a s 是純j a v a 的實現(xiàn)且不依賴于某個應(yīng)用服務(wù)器,因此它具有很好 的跨平臺運行能力,可以支持j a v a1 5 以上版本,運行于支持s e r v l e t 2 4 或者更高版本的任何容器中,如t o m c a t 、j e t t y 以及j b o s s 。 c a s 具有良好的社區(qū)和文檔支持。 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 2 2c a s 認證過程簡介 c a s 中心認證服務(wù)被設(shè)計成一個獨立的w e b 應(yīng)用程序,用戶通過三個u r l 對 其進行訪問:登錄u r l ( l o g i nu r l ) 、驗證u r l ( v a l i d a t i o nu r l ) 以及注銷u r l ( l o g o u tu r l ,可選) 。c a s 認證過程如圖1 所示,它包含兩類認證過程:w e b 應(yīng)用服務(wù)認證以及代理認證。 票據(jù)驗證j - , 、 , 、,二,- - - 一,一一, 圖1c a s 認證流程示意圖( 翻譯自c a s 架構(gòu)文檔) 2 2 1w e b 應(yīng)用服務(wù)認證 用戶在訪問受保護w e b 應(yīng)用服務(wù)所需要的認證,在此過程中c a s 使用如下兩 種票據(jù): ( 1 ) t g c ( t i c k e tg r a n t i n gc o o k i e ) :c a s 發(fā)放給用戶的身份憑證,一般情 況以c o o k i e 形式發(fā)放,相當(dāng)于用戶與c a s 之間的會話i d ,c a s 通過檢查t g c 確 定用戶是否已經(jīng)登錄并通過身份驗證。 ( 2 ) s t ( s e r v i c et i c k e t ) :服務(wù)票據(jù),c a s 發(fā)送給相關(guān)應(yīng)用服務(wù)的用戶身 份憑證。為了防止“中間人 攻擊的發(fā)生,s t 被設(shè)計為一次性票據(jù),在一次驗 證過程后立刻失效。 6 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 完整的w e b 應(yīng)用服務(wù)認證在圖l 中的流程表示為:卜 2 3 一 4 : 步驟1 ,用戶瀏覽器向受保護w e b 應(yīng)用服務(wù)發(fā)送初始化請求。 步驟2 ,應(yīng)用將用戶重定向至c a s 進行認證,并在u r l 中附加服務(wù)i d 。若 c a s 檢測到t g c ,進行步驟3 ;若沒有,提示用戶輸入用戶名、密碼登錄,在用 戶成功登錄后發(fā)放t g c 并進入步驟3 。 步驟3 ,c a s 將用戶定向回w e b 應(yīng)用地址,并在u r l 中附帶s t 。 步驟4 ,應(yīng)用將s t 交給c a s 進行驗證,得到正確的用戶身份。 2 2 2 代理認證 用戶可能需要訪問一些瀏覽器不能直接訪問的資源,典型的情況如非w e b 服務(wù)提供的資源,這種情況下需要借助一個w e b 應(yīng)用服務(wù)作為用戶身份代理對目 標(biāo)服務(wù)進行訪問,這就需要進行代理認證。除t g c 和s t 外,c a s 協(xié)議定義了代 理認證需要的如下票據(jù): ( 1 ) p t ( p r o x yt i c k e t ) :代理票據(jù)。代理應(yīng)用通過p t 向目標(biāo)應(yīng)用表明代理 身份,目標(biāo)服務(wù)在拿到p t 之后需通過c a s 驗證其有效性。 ( 2 ) p g t ( p r o x yg r a n t i n gt i c k e t ) :由c a s 發(fā)放給持有效s t 的代理應(yīng)用的 票據(jù)。代理應(yīng)用憑p g t 從c a s 獲得p t 。此票據(jù)與目標(biāo)服務(wù)、認證用戶身份形成 唯一關(guān)聯(lián)。p g t 是一次性票據(jù)。 ( 3 ) p g t i o u ( p r o x yg r a n t i n gt i c k e ti o u ) :可看作p g t 的索引。代理應(yīng)用 必須能自行維護p g t i o u 和p g t 的對應(yīng)關(guān)系表,當(dāng)p g t 失效后,對應(yīng)的p g t i o u 也同時失效,可以從對應(yīng)關(guān)系表中刪除。 代理認證在通過圖1 中的步驟卜 2 一 3 一 4 一 4 a 一 5 完成。和w e b 服務(wù)認證相 比,代理認證多出了獲取和驗證p t 的步驟。在圖l 步驟2 中,代理應(yīng)用除發(fā)送 服務(wù)i d 外還必須傳遞回調(diào)地址參數(shù)( p g t u r l ) 。相應(yīng)地,在步驟4 中,c a s 的返 回信息中增加了p g t i o u ,同時通過回調(diào)地址將對應(yīng)p g t 發(fā)送給代理應(yīng)用;之后, 為了向目標(biāo)服務(wù)表明代理身份,代理應(yīng)用必須通過p g t 向c a s 索要p t ,在拿到 p t 之后,進入步驟4 a 和5 a ,完成代理認證過程。 2 3 單點注銷 c a s 從3 1 版本開始支持單點注銷。在t g t 過期后,c a s 會向己注冊的應(yīng) 用服務(wù)以p o s t 方式發(fā)送如下注銷請求: 7 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 應(yīng)用服務(wù)在接收到注銷請求時可以根據(jù)s e s s i o ni n d e n t i f i e r 找到需要 注銷的用戶會話d 并進行注銷操作。通過支持單點注銷,可以避免由于用戶忘 記注銷所有應(yīng)用服務(wù)而引起的安全隱患,進一步增強系統(tǒng)安全性。 需要注意的是如果應(yīng)用服務(wù)使用的客戶端代碼不支持注銷協(xié)議,則注銷不能 正常完成。 2 4 其他相關(guān)技術(shù)簡介 2 4 1s p ri n gf r a m e w o r k s p r i n gf r a m e w o r k 是一個開源的應(yīng)用程序框架,具有j a v a 和n e t ( s p r i n g n e t ) 兩種版本。s p r i n gf r a m e w o r k 包含多個模塊,提供i o c 3 容器、面向方面編成( a s p e c t o r i e n t e dp r o g r a m m i n g ) 、數(shù)據(jù)訪問、事務(wù)管理、m v c 、遠程管理等多種服務(wù)。j a s i g c a s 基于s p r i n gf r a m e w o r k 開發(fā),s p r i n gf r a m e w o r k 強大的i o c 容器配置功能大 大增加了c a s 系統(tǒng)的可擴展性,其重要性對于需要對c a s 進行部署和定制的用 戶或者開發(fā)人員而言尤為突出。s p r i n gf r a m e w o r k 主要模塊如下圖所示: 3i n v e r s i o no f c o n t r o l l ( 反轉(zhuǎn)控制) :h t t p :e n w i k i p e d i a o r g w i k i i n v e r s i o no fc o n t r o l 8 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) w e b s p r i n gw e bm v c f r a m e w o r ki n t e g r a t i o n s t r u t s w e b w o r k t a p e s t r y j s f r l c nv i e ws u p p o r t j s p s v e l o c i t y f r e e m a r k e r p d f j a s o e rr e p o r t s e x c e i s p r i n gp o r t l e tm v c 2 4 2a p a c h em a v e n 圖2s p r i n gf r a m e w o r k 概覽4 m a v e n 5 是一個j a v a 項目管理以及自動構(gòu)建工具,與其他構(gòu)建工具如a p a c h e a n t 相比,m a v e n 提供了強大的依賴管理功能,可簡化程序分發(fā)的工作。c a s 項 目使用m a v e n 進行項目的構(gòu)建、發(fā)布以及相關(guān)報告文檔,因此基于c a s 做定制開 發(fā),了解和使用同樣的構(gòu)建平臺可以節(jié)約大量的時間。 2 4 3p h p p h p 是一種受到廣泛應(yīng)用的通用腳本語言,可以嵌入到h t m l 被解釋執(zhí)行, 尤其適合做w e b 應(yīng)用開發(fā)。因為p h p 是一種腳本語言,不需要進行編譯,測試部 署十分方便,開發(fā)效率也較高,所以作者的統(tǒng)一認證平臺除了認證服務(wù)器部分采 :h 卻:s t a t i c s p r i n g s o u r c c o r e s p r i n g d o c k 2 0 x r e f e r e n c e i n t r o d u c t i o n h a u l 。h t t p :m a v e n a p c h e o r g 9 j a v a 之外,其余模塊均采用p h p 語言、基于z e n df r a a l e w o lk 開發(fā),并整臺 ) c t r i n e l 作為數(shù)據(jù)訪問層。 圖3z e n df r r k 組件圖。 6 z e n df r 哪c w o r k ( h t t p :e a l 】l e w c r kz e 口d m ) 是一十開源、面向?qū)ο蟮膒 h p 開源框架,提供了數(shù)1 ¥可供使用。 7 d o c t r i n e ( h t t p :d o c l r i n e - p r o j c c t o 叫) 是一個p h p 的o r m ( o b j e c t - r e l a t i o n a l m a p p i n g ) 框女 8h t 口d c d k i c o w 曲p k n d - f r e w o r k - m a p 1 0 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 2 4 4s o a p s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,簡單對象訪問協(xié)議) 是一種輕量的、 簡單的、基于x m l 的協(xié)議,可以用來實現(xiàn)w e b 服務(wù)接口,在運行不同平臺之 上的系統(tǒng)之間交換結(jié)構(gòu)化信息。統(tǒng)一認證平臺采用s o a p 協(xié)議向應(yīng)用系統(tǒng)提供遠 程調(diào)用接口。 2 4 5n gin x n g i n x 9 是一個高性能的h t t p 和反向代理服務(wù)器,由i g o rs y s o e v 為俄羅斯 訪問量第二的r a m b l e r r u 站點開發(fā),采用b s d 許可證。由于n g i n x 選擇高效的 網(wǎng)絡(luò)i 0 模型1 0 ,在高并發(fā)連接的情況下,n g i n x 是傳統(tǒng)w 曲服務(wù)器a p a c h e 的 一個很好的替代方案,它能夠支持高達5 0 0 0 0 并發(fā)連接的響應(yīng),且因其輕量級的 特點,占用硬件資源非常少,基于這些優(yōu)點,n g i n x 的使用率在短時間內(nèi)迅速地 增長,根據(jù)n e t c r a f t 的統(tǒng)計,截至2 0 1 0 年4 月,n g i n x 已在全球被用以運行超 過1 2 0 0 萬個站點,占用率達到6 3 2 。 出于性能上的考慮,作者在統(tǒng)一認證平臺的高性能部署方案中采用n g i n x 代替a p a c h e 作為w 曲服務(wù)器。實踐表明,n g i n x 的性能表現(xiàn)大大優(yōu)于a p a c h e 。 2 4 6p h p - f p m 傳統(tǒng)方式下p h p 以a p a c h e 模塊的方式運行,當(dāng)a p a c h e 提供靜態(tài)文件服務(wù) 時p h p 模塊仍然會被加載,這帶來了不必要的性能損失,若p h p 采用f a s t c g i 模式運行則不存在這個問題,但由于p h p 本身的f a s t c g i 實現(xiàn)并不完善,所以 作者在制定統(tǒng)一認證平臺高性能部署方案時采用了其替代方案p h p f p m 。 p h p f p m l l ( f a s t c g ip r o c e s sm a n a g e r ) 即p h pf a s t c g i 進程管理器是一個 p h p 的f a s t c g i 實現(xiàn),和p h p 內(nèi)置的f a s t c g l 支持實現(xiàn)相比,p h p f p m 提供如 下高級特性: 奪高級進程管理功能,支持平穩(wěn)重起。 奪允許p h p 程序以多個身份多種配置方式運行。 令s t d o u t 及s t d e r r 日志支持。 9 h t t p :w w w n g i n x o r g 1 0 即e p o l l ( l i n u x2 6 ) 、k q u e u e ( f r e e b s d ) 或者e v e n t p o r t ( s o l a r i s1 0 ) l l h t t p :w w w p h p f p m o r g l l 第2 章統(tǒng)一認證平臺的技術(shù)基礎(chǔ) 令支持在o p c o d e 緩存出錯時緊急重起。 奪加速上傳支持。 令緩慢日志支持。 呤通過f a s t c g i _ f i n i s h _ r e q u e s t 0 支持更快的響應(yīng)速度。 服務(wù)器運行狀態(tài)支持。 在作者的實際運行測試中,p h p f p m 能提供較高的穩(wěn)定性和服務(wù)器性能。 2 4 7m e m c a c h e d m e m c a c h e d l 2 是由d a n g ai n t e r a c t i v e 開發(fā)的高性能分布式內(nèi)存對象緩存系統(tǒng), 用于在動態(tài)應(yīng)用中減少數(shù)據(jù)庫負載,提升訪問速度。通過在內(nèi)存里維護一個統(tǒng)一 的巨大的哈希表,m e m c a c h e d 能夠用來存儲各種格式的數(shù)據(jù),包括圖像、視頻、 文件以及數(shù)據(jù)庫檢索的結(jié)果等。在網(wǎng)絡(luò)方面,和n g i n x 一樣,m e m c a c h e d 使用非 阻塞的網(wǎng)絡(luò)i o ,通過l i b e v e n t 均衡任何數(shù)量的打開鏈接,對內(nèi)部對象實現(xiàn)引用 計數(shù)( 因此,針對多樣的客戶端,對象可以處在多樣的狀態(tài)) ,使用自己的頁塊 分配器和哈希表,因此虛擬內(nèi)存不會產(chǎn)生碎片并且虛擬內(nèi)存分配的時間復(fù)雜度可 以保證為0 ( 1 ) 。 m e m c a c h e d 已經(jīng)被廣泛應(yīng)用于動態(tài)w e b 項目,解決由于高數(shù)據(jù)庫負載帶來 的系統(tǒng)瓶頸。在統(tǒng)一認證平臺的高性能部署方案中,作者使用m e m c a c h e d 作為 票據(jù)注冊表存儲后端,有效地提高了數(shù)據(jù)方案效率、減輕了數(shù)據(jù)庫負擔(dān)。 1 2 第3 章統(tǒng)一認證平臺的需求分析與總體設(shè)計 第3 章統(tǒng)一認證平臺的需求分析與總體設(shè)計 本章主要論述作者研究設(shè)計的統(tǒng)一認證平臺的設(shè)計目標(biāo),在此基礎(chǔ)上對平臺 進行功能需求分析,并根據(jù)需求分析進行系統(tǒng)總體設(shè)計。 3 1 設(shè)計目標(biāo)與需求分析 統(tǒng)一認證平臺的設(shè)計目標(biāo)是為大型機構(gòu)提供一個從用戶注冊到系統(tǒng)集成的 完整的解決方案、并允許對統(tǒng)一平臺核心模塊進行擴展。基于這個目標(biāo),并結(jié)合 某大型教育出版社的實際項目案例,作者為平臺提出了如下功能需求: 3 1 1 支持跨域名站點的單點登錄 對于集成統(tǒng)一認證平臺的多個不同域名如f o o c o r n ,b a r c o r n ,b a z t o m 等,允 許用戶通過統(tǒng)一認證平臺一次登錄之后,在未注銷的情況下訪問任意一個站點不 需要再次輸入用戶名和密碼登錄:支持統(tǒng)一注銷,即:用戶在a 站點登錄,然 后在b 站點注銷,此時用戶不能以己登錄身份繼續(xù)訪問其他站點,而且在a 站 點的己登錄身份也被注銷。 3 1 2 用戶存儲后端 使用統(tǒng)一的關(guān)系型數(shù)據(jù)庫作為用戶數(shù)據(jù)存儲后端,允許通過r e p l i c a t i o n ( 多 機上運行多個副本) 進行負載均衡。用戶認證身份數(shù)據(jù)由賬號標(biāo)識、姓名、密碼、 出身年份、重置密碼問題、重置密碼答案、是否己經(jīng)通過郵箱確認、所在省份、 所在市等字段組成,其中所有的字段都是必須字段,不能缺少任何一個字段,描 述如表3 1 所示。用戶應(yīng)用認證身份數(shù)據(jù)由應(yīng)用名稱、應(yīng)用口令字符串、應(yīng)用對 應(yīng)的u r l 、是否啟用、應(yīng)用的描述等字段組成,其中應(yīng)用名稱、應(yīng)用口令字符 串、是否啟用為必須字段,應(yīng)用對應(yīng)的u r l 、應(yīng)用的描述為可選字段,描述如表 3 2 所示。用戶數(shù)據(jù)管理的數(shù)據(jù)由用戶名、密碼字段組成,其中用戶名與密碼字 段均為必須字段,不能缺少,否則將不能對用戶數(shù)據(jù)進行管理,描述如表3 3 所 示。 第3 章統(tǒng)一認證平臺的需求分析與總體設(shè)計 表3 1s s o u s e r ( 用戶認證身份數(shù)據(jù)) 字段 描述是否必須 e m a i lm a i l 地址,作為賬號標(biāo)識是 r e a l n a m e真實姓名是 p a s s w o r d口令摘要是 y e a r o f b i r t h 出生年份 是 e m a i l v e r i f l e d是否已通過郵箱確認是 p r o v i n c e所在省份 是 c i t y 所在市是 表3 2s s o a p p l i c a t i o n ( 應(yīng)用認證身份數(shù)據(jù)) 字段描述是否必須 a p p l i c a t i o n n a m e 應(yīng)用名稱是 a p p l i c a t i o n k e y 應(yīng)用口令字符串是 u r l應(yīng)用對應(yīng)的u r l 刁k 1 2 1 e n a b l e d 是否啟用 是 d e s c r i p t i o n 應(yīng)用的描述否 表3 3s s o a d m i n ( c a s 數(shù)據(jù)管理員) 字段描述是否必須 u s e r n a m e用戶名是 p a s s w o r d口令摘要是 3 1 3 用戶注冊以及信息管理 允許最終用戶通過統(tǒng)一的入口進行注冊、信息編輯、密碼取回等操作界面, 并為用戶提供所有應(yīng)用服務(wù)的統(tǒng)一導(dǎo)航。當(dāng)用戶未登錄系統(tǒng)時,呈現(xiàn)給用戶的界 面具有如下三個鏈接功能,即引導(dǎo)用戶進行注冊、為用戶提供密碼找回與郵件地 址確認功能。當(dāng)用戶登錄系統(tǒng)時,將呈現(xiàn)給用戶兩個頁面,一個頁面為用戶基本 信息頁面,另外一個頁面是表單。用戶基本信息頁面顯示用戶的郵件地址、真實 姓名、所在城市、用戶最后登錄時間等信息。表單頁面允許用戶修改自己的登錄 密碼、支付寶密碼修改等功能。為了方便用戶選擇自己所需要的站點,為用戶提 供整合統(tǒng)一認證平臺的應(yīng)用站點列表導(dǎo)航服務(wù)。 1 4 第3 章統(tǒng)一認證平臺的需求分析與總體設(shè)計 3 1 5 統(tǒng)一用戶管理系統(tǒng) 主要面向系統(tǒng)管理員,提供如下功能: 第一,用戶注冊信息管理,包括對用戶信息的查詢、添加、編輯、刪除, 啟用和禁用用戶帳號等操作。管理員擁有對用戶所有屬性字段的編 輯權(quán)限。 第二,站點信息管理,用以管理應(yīng)用系統(tǒng)信息列表,為各個應(yīng)用系統(tǒng)分發(fā) a p ik e y 等,并允許管理員控制應(yīng)用系統(tǒng)對于統(tǒng)一認證平臺提供的 w e b 服務(wù)接口的授權(quán)設(shè)置。 第三,統(tǒng)計功能。統(tǒng)計的內(nèi)容包括:當(dāng)前、當(dāng)周、當(dāng)月以及在某一給定時 間范圍內(nèi)的新注冊用戶數(shù);當(dāng)日、當(dāng)周、當(dāng)月以及在給定某一時間 范圍內(nèi)的用戶登錄次數(shù)按應(yīng)用站點進行匯總統(tǒng)計。 第四,日志管理。管理員在使用管理后臺時,系統(tǒng)自動記錄管理員的所有 管理操作,并允許超級管理員查看相關(guān)日志。 第五,帳號管理。系統(tǒng)設(shè)置一個超級管理員,允許該帳號增加、修改或者 刪除管理帳號信息。 3 1 4 應(yīng)用系統(tǒng)集成方案 為應(yīng)用系統(tǒng)提供一套完整的單點登錄以及單點注銷集成方案,同時提供基于 s o a p 的用戶注冊和信息更新接口。 3 2 系統(tǒng)總體設(shè)計 根據(jù)上述設(shè)計目標(biāo)和需求,作者對平臺進行了總體功能模塊劃分,確定了統(tǒng) 一認證平臺的分層架構(gòu)。 3 2 1 數(shù)據(jù)層 作者使用開放源碼的m y s q l 作為數(shù)據(jù)存儲后端,m y s q l 是一個成熟的關(guān)系型 數(shù)據(jù)庫,具有較高的運行效率,同時支持r e p l i c a t i o n 以及集群部署,具備一定 的擴展能力。 為了防止外部應(yīng)用直接讀寫用戶數(shù)據(jù)庫帶來的安全隱患,作者將對數(shù)據(jù)層的 訪問權(quán)限控制在統(tǒng)一認證平臺以內(nèi),外部應(yīng)用系統(tǒng)如果需要獲取或者更新平臺內(nèi) 第3 章統(tǒng)一認證平臺的需求分析與總體設(shè)計 部數(shù)據(jù),可以通過三種方式中任意一種進行:( 1 ) c a s 協(xié)議;( 2 ) s o a p 接口; ( 3 ) 瀏覽器跳轉(zhuǎn),通過平臺預(yù)定義模塊進行相關(guān)操作。這三種方式均在認證平 臺的控制范圍,因此可以從根本上保證用戶數(shù)據(jù)的安全性,防止由于外部應(yīng)用系 統(tǒng)的錯誤操作帶來的安全問題。 3 2 2 統(tǒng)一認證平臺核心模塊 統(tǒng)一認證平臺包含如下幾個核心模塊: ( 1 ) j a s i gc a s :單點登錄認證服務(wù)器。 ( 2 ) 用戶注冊模塊:提供用戶注冊以及找回密碼功能。 ( 3 ) 用戶信息編輯模塊:提供用戶自身的信息管理功能。 ( 4 ) 應(yīng)用系統(tǒng)接口模塊:為應(yīng)用系統(tǒng)提供必需的s o a p 接口。 ( 5 ) 統(tǒng)一用戶管理系統(tǒng):供系統(tǒng)管理員使用。 對平臺核心模塊的所有訪問活動均通過h t t p s 進行,6 個模塊均部署同一域 名下,共用一個s s l 證書,以確保認證信息在傳輸過程中的保密性。 上述模塊中除了c a s 使用j a v a 開發(fā)之外,其余模塊均使用p h p 語言進行開 發(fā),搭建于z e n df r a m e w o r k 之上。 3 2 3w e b 應(yīng)用系統(tǒng) 集成到統(tǒng)一認證平臺的應(yīng)用系統(tǒng)處于平臺外層,與認證平臺的交互操作主要 有如下幾種情況: ( 1 ) 跳轉(zhuǎn)到用戶注冊模塊進行統(tǒng)一用戶注冊。 ( 2 ) 通過c a s 認證服務(wù)器進行用戶登錄操作,或者獲取p t ,這些操作通過c a s 協(xié)議進行。 ( 3 ) 憑p t 以及a p ik e y 調(diào)用平臺提供的s o a p 接口,進行相關(guān)的信息獲取或 者更新操作。 ( 4 ) 當(dāng)應(yīng)用本身不包含用戶信息管理模塊時,若要進行用戶信息更新,可直 接跳轉(zhuǎn)至統(tǒng)一認證平臺進行相關(guān)操作,完成操作后回到指定位置。 上述三層結(jié)構(gòu)中各模塊的調(diào)用關(guān)系可參見圖2 。 第3 章統(tǒng)一認證平臺的需求分析與總體設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論