




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于thrift的SSO單點登錄實現(xiàn),工程碩士學位論文,隨著信息技術和網(wǎng)絡技術的快速發(fā)展,應用系統(tǒng)會越來越多。同時隨著應用網(wǎng)站的擴大,接入的業(yè)務隨之增多,每個系統(tǒng)都會有自己獨立的SSO系統(tǒng),這樣造成用戶登錄各個應用系統(tǒng),必須記住自己的各個系統(tǒng)的用戶名和密碼,隨著系統(tǒng)的增多,用戶也將隨著需要記憶的用戶名和密碼的急劇增長而奔潰,用戶體驗大大降低。另外,隨著應用系統(tǒng)的增多,認證系統(tǒng)出錯的可能性增大,用戶的信息收到非法截獲和破壞的可能性增大,這個系統(tǒng)的安全性就大大降低。,研究調查的統(tǒng)計數(shù)據(jù)1、用戶每天平均16分鐘花在身份驗證任務上;2、頻繁的IT用戶平均有21個密碼;3、49%的人寫下密碼,而67%的人很少改變它們4、每79秒出現(xiàn)一起身份被竊事件鑒于上面的統(tǒng)計數(shù)據(jù),設計一套單點登錄系統(tǒng)來解決用戶的煩惱勢在必行。,本文是基于鎮(zhèn)江旅游網(wǎng)、支付平臺以及論壇項目而展開的統(tǒng)一認證研究工作。本項目SSO管理系統(tǒng)是在Linux操作系統(tǒng)上運行的一個核心軟件,向鎮(zhèn)江旅游網(wǎng)、支付平臺以及論壇系統(tǒng)提供登錄、注冊、鑒權、退出等服務。,論文主要從以下幾個方面進行闡述:,1、thrift技術的研究,通過對thrift的底層框架、底層協(xié)議、傳輸層的研究,為后面的單點登錄系統(tǒng)的實現(xiàn)提供了理論依據(jù)。2、單點登錄的設計與實現(xiàn),通過系統(tǒng)需求分析調研,設計出系統(tǒng)的架構及業(yè)務組成,然后利用MyEclipse平臺開發(fā)出基于Thrift的單點登錄系統(tǒng)。3、展示單點登錄在鎮(zhèn)江旅游網(wǎng)、支付平臺以及論壇的應用。,Thrift實際上是實現(xiàn)了C/S模式,通過代碼生成工具將接口定義文件生成服務器端和客戶端代碼(可以為不同語言),從而實現(xiàn)服務端和客戶端跨語言的支持。用戶在Thirft描述文件中聲明自己的服務,這些服務經(jīng)過編譯后會生成相應語言的代碼文件,然后用戶實現(xiàn)服務(客戶端調用服務,服務器端提服務)便可以了。其中protocol(協(xié)議層,定義數(shù)據(jù)傳輸格式,可以為二進制或者XML等)和transport(傳輸層,定義數(shù)據(jù)傳輸方式,可以為TCP/IP傳輸,內存共享或者文件共享等),Thrift支持的傳輸協(xié)議,1、TBinaryProtocol本項目使用的是傳統(tǒng)的二進制編碼格式進行數(shù)據(jù)傳輸。2、TCompactProtocol在大數(shù)據(jù)量傳輸時,這種協(xié)議非常有效的,它將傳輸?shù)臄?shù)據(jù)使用Variable-LengthQuantity(VLQ)編碼進行壓縮。3、TJSONProtocol使用JSON數(shù)據(jù)協(xié)議進行數(shù)據(jù)傳輸。4、TSimpleJSONProtocol這種協(xié)議節(jié)約只提供JSON只寫的協(xié)議,適用于通過腳本語言解析。5、TDebugProtocol該協(xié)議用在開發(fā)的過程中,幫助開發(fā)人員調試用的,以文本的形式展現(xiàn),方便閱讀。,Thrift支持的數(shù)據(jù)傳輸方式,1、TSocket-使用堵塞式I/O進行傳輸,類似于java中的socket傳輸。也是最常見的模式。2、TFramedTransport-使用非阻塞方式,按塊(即frame)進行傳輸。類似于Java中的NIO。3、TFileTransport-該傳輸是按照文件的方式進程傳輸。雖然這種方式不提供Java的實現(xiàn),但是實現(xiàn)起來非常簡單。4、TMemoryTransport-使用內存I/O,底層用Java中的ByteArrayOutputStream實現(xiàn)。5、TZlibTransport-使用執(zhí)行zlib壓縮,不提供Java的實現(xiàn)。,Thrift支持的服務模型,1、TSimpleServer單線程服務器端使用標準的堵塞式I/O。類似于客戶端的TSocket。2、TThreadPoolServer多線程服務模型,使用標準的阻塞式IO。類似于客戶端的TFramedTransport。3、TNonblockingServer多線程服務模型,使用非阻塞式IO,需求分析,(1)隨處注冊:從任意業(yè)務系統(tǒng)均可注冊,各個業(yè)務系統(tǒng)共用一個用戶信息。(2)隨處登錄:從任意業(yè)務系統(tǒng)均可登錄,返回登錄票據(jù),其他業(yè)務系統(tǒng)均無需再登錄。(3)隨時鑒權:用戶在業(yè)務系統(tǒng)上任意的操作均需鑒權票據(jù)是否過期。(4)隨處退出:從任意業(yè)務系統(tǒng)均可退出,其他業(yè)務系統(tǒng)均顯示退出。(5)日志記錄:用戶的任意單點登錄操作均有日志查詢。,需求分析,系統(tǒng)設計,單點登錄(SingleSignOn縮寫是SSO)是在多個應用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統(tǒng)。另外,在任意一個系統(tǒng)登出,其他的系統(tǒng)均退出。是目前市場上流行的企業(yè)業(yè)務整合的解決方案。要實現(xiàn)SSO,需要幾點功能:1、注冊功能2、激活功能3、登錄功能4、鑒權功能5、退出功能,系統(tǒng)設計,注冊功能設計1、用戶填寫注冊信息,各個業(yè)務系統(tǒng)提交到SSO單點登錄系統(tǒng)。2、到數(shù)據(jù)庫查詢該用戶是否是黑名單。3、如果是黑名單則返回各個應用系統(tǒng)該用戶是黑名單,記錄日志。4、查詢用戶信息在數(shù)據(jù)庫中是否已經(jīng)存在。5、該用戶已經(jīng)存在,返回各個應用系統(tǒng),該用戶名已經(jīng)存在,記錄日志。,系統(tǒng)設計,6、根據(jù)應用系統(tǒng)的需求,判斷是否需要激活注冊。7、不需要激活注冊,將用戶信息中密碼MD5加密后和其余信息保存至用戶表,記錄日志。8、需要激活注冊,則判斷待激活用戶表中是否存在該用戶名。9、存在該用戶則返回各個應用系統(tǒng),該用戶是待激活用戶,記錄日志。10、如果用戶是郵箱注冊,將激活碼下發(fā)至用戶郵箱,記錄日志。,系統(tǒng)設計,11、如果用戶是手機注冊,將激活碼下發(fā)至用戶手機,記錄日志。12、不存在則將用戶信息保存至待激活用戶表,記錄日志。,系統(tǒng)設計,激活功能設計1、根據(jù)各個應用系統(tǒng)傳過來的用戶信息,通過正則表達式判斷其用戶名是手機號碼注冊還是郵箱注冊。2、到數(shù)據(jù)庫查詢該用戶是否是黑名單用戶,若是,返回各個應用系統(tǒng),該用戶是黑名單用戶,記錄日志。3、查詢用戶在激活表中是否存在。4、如果不存在,返回各個應用系統(tǒng),用戶不存在,記錄日志。5、查詢用戶的待激活時間是否已經(jīng)過期,系統(tǒng)設計,6、過期返回各個應用系統(tǒng),用戶注冊時間已經(jīng)過期,同時SSO單點登錄系統(tǒng)將用戶待激活記錄刪除,方便用戶重新注冊,獲取待激活碼,記錄日志。7、將此待激活的用戶的信息正式保存到用戶表中,返回各個應用系統(tǒng),激活成功,記錄日志。,系統(tǒng)設計,登錄功能設計1、根據(jù)各個系統(tǒng)傳入的用戶名和密碼,判斷用戶此時是否已經(jīng)登錄。2、如果已經(jīng)登錄,返回各個應用系統(tǒng),用戶已經(jīng)登錄,記錄日志。3、到數(shù)據(jù)庫判斷用戶名是否是黑名單。4、是黑名單則返回各個應用系統(tǒng),該用戶是黑名單,記錄日志。5、查詢數(shù)據(jù)庫中的用戶表是否存在和該用戶名和密碼匹配用戶。,系統(tǒng)設計,6、沒有匹配用戶,則返回各個應用系統(tǒng),用戶名或者密碼錯誤,記錄日志。7、將用戶基本信息以及生成唯一的憑據(jù)ticket給各個應用系統(tǒng),并在用戶會話表中記錄一條數(shù)據(jù),記錄日志。,系統(tǒng)設計,鑒權功能設計1、根據(jù)各個應用系統(tǒng)的用戶登錄憑據(jù)ticket,查看會話表中是否存在記錄。2、不存在,則返回各個應用系統(tǒng),用戶ticket已經(jīng)失效,記錄日志。3、各個應用系統(tǒng)接收到SSO單點登錄系統(tǒng)的失敗響應,清除用戶客戶端的cookie中用戶信息和憑據(jù)ticket。,系統(tǒng)設計,4、更新會話表的上一次操作時間,返回各個應用系統(tǒng),用戶憑據(jù)ticket鑒權成功,記錄日志。附:如果用戶在各個系統(tǒng)10分鐘未操作界面,即各個應用系統(tǒng)10分鐘未調用SSO單點登錄系統(tǒng),去鑒權ticket的有效性。SSO單點登錄系統(tǒng)數(shù)據(jù)庫存儲過程自動將會話表中用戶鑒權數(shù)據(jù)刪除。,系統(tǒng)設計,退出功能設計1、SSO應用系統(tǒng)獲取用戶注銷信息,根據(jù)其憑據(jù)ticket,在會話表中查詢記錄。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年數(shù)學圓的測試題及答案
- 生產管理制度
- 2025年基層競職面試題及答案
- 中式面點師2023練習試卷附答案
- 2025年物流主管面試試題及答案
- 2025年員工三級培訓試題及答案
- 2025年胰島素泵試題及答案
- 2025年公安輔警招聘知識考試題(附含答案)
- 2025年公共科目急救考試題及答案
- 2025年玉化液體測試題及答案
- 材料大課堂鈦合金(課堂PPT)
- NRC蛋雞飼養(yǎng)標準
- 高數(shù)常微分方程-高階微分方程
- 項目總工崗位職責
- 竹里館ppt課件
- 【最新】中考歷史專題復習 中外科技發(fā)展課件 新人教-新人教初中九年級全冊歷史課件
- 最新-路面標線技術交底
- 醫(yī)院卒中質量控制考核方案
- 立風井瓦斯管路安裝施工組織設計
- 附件 流動人員人事檔案轉遞通知單存根
- 計算機信息檢索第三章
評論
0/150
提交評論