




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于thrift的SSO單點(diǎn)登錄實(shí)現(xiàn),工程碩士學(xué)位論文,隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,應(yīng)用系統(tǒng)會(huì)越來越多。同時(shí)隨著應(yīng)用網(wǎng)站的擴(kuò)大,接入的業(yè)務(wù)隨之增多,每個(gè)系統(tǒng)都會(huì)有自己獨(dú)立的SSO系統(tǒng),這樣造成用戶登錄各個(gè)應(yīng)用系統(tǒng),必須記住自己的各個(gè)系統(tǒng)的用戶名和密碼,隨著系統(tǒng)的增多,用戶也將隨著需要記憶的用戶名和密碼的急劇增長而奔潰,用戶體驗(yàn)大大降低。另外,隨著應(yīng)用系統(tǒng)的增多,認(rèn)證系統(tǒng)出錯(cuò)的可能性增大,用戶的信息收到非法截獲和破壞的可能性增大,這個(gè)系統(tǒng)的安全性就大大降低。,研究調(diào)查的統(tǒng)計(jì)數(shù)據(jù)1、用戶每天平均16分鐘花在身份驗(yàn)證任務(wù)上;2、頻繁的IT用戶平均有21個(gè)密碼;3、49%的人寫下密碼,而67%的人很少改變它們4、每79秒出現(xiàn)一起身份被竊事件鑒于上面的統(tǒng)計(jì)數(shù)據(jù),設(shè)計(jì)一套單點(diǎn)登錄系統(tǒng)來解決用戶的煩惱勢在必行。,本文是基于鎮(zhèn)江旅游網(wǎng)、支付平臺(tái)以及論壇項(xiàng)目而展開的統(tǒng)一認(rèn)證研究工作。本項(xiàng)目SSO管理系統(tǒng)是在Linux操作系統(tǒng)上運(yùn)行的一個(gè)核心軟件,向鎮(zhèn)江旅游網(wǎng)、支付平臺(tái)以及論壇系統(tǒng)提供登錄、注冊(cè)、鑒權(quán)、退出等服務(wù)。,論文主要從以下幾個(gè)方面進(jìn)行闡述:,1、thrift技術(shù)的研究,通過對(duì)thrift的底層框架、底層協(xié)議、傳輸層的研究,為后面的單點(diǎn)登錄系統(tǒng)的實(shí)現(xiàn)提供了理論依據(jù)。2、單點(diǎn)登錄的設(shè)計(jì)與實(shí)現(xiàn),通過系統(tǒng)需求分析調(diào)研,設(shè)計(jì)出系統(tǒng)的架構(gòu)及業(yè)務(wù)組成,然后利用MyEclipse平臺(tái)開發(fā)出基于Thrift的單點(diǎn)登錄系統(tǒng)。3、展示單點(diǎn)登錄在鎮(zhèn)江旅游網(wǎng)、支付平臺(tái)以及論壇的應(yīng)用。,Thrift實(shí)際上是實(shí)現(xiàn)了C/S模式,通過代碼生成工具將接口定義文件生成服務(wù)器端和客戶端代碼(可以為不同語言),從而實(shí)現(xiàn)服務(wù)端和客戶端跨語言的支持。用戶在Thirft描述文件中聲明自己的服務(wù),這些服務(wù)經(jīng)過編譯后會(huì)生成相應(yīng)語言的代碼文件,然后用戶實(shí)現(xiàn)服務(wù)(客戶端調(diào)用服務(wù),服務(wù)器端提服務(wù))便可以了。其中protocol(協(xié)議層,定義數(shù)據(jù)傳輸格式,可以為二進(jìn)制或者XML等)和transport(傳輸層,定義數(shù)據(jù)傳輸方式,可以為TCP/IP傳輸,內(nèi)存共享或者文件共享等),Thrift支持的傳輸協(xié)議,1、TBinaryProtocol本項(xiàng)目使用的是傳統(tǒng)的二進(jìn)制編碼格式進(jìn)行數(shù)據(jù)傳輸。2、TCompactProtocol在大數(shù)據(jù)量傳輸時(shí),這種協(xié)議非常有效的,它將傳輸?shù)臄?shù)據(jù)使用Variable-LengthQuantity(VLQ)編碼進(jìn)行壓縮。3、TJSONProtocol使用JSON數(shù)據(jù)協(xié)議進(jìn)行數(shù)據(jù)傳輸。4、TSimpleJSONProtocol這種協(xié)議節(jié)約只提供JSON只寫的協(xié)議,適用于通過腳本語言解析。5、TDebugProtocol該協(xié)議用在開發(fā)的過程中,幫助開發(fā)人員調(diào)試用的,以文本的形式展現(xiàn),方便閱讀。,Thrift支持的數(shù)據(jù)傳輸方式,1、TSocket-使用堵塞式I/O進(jìn)行傳輸,類似于java中的socket傳輸。也是最常見的模式。2、TFramedTransport-使用非阻塞方式,按塊(即frame)進(jìn)行傳輸。類似于Java中的NIO。3、TFileTransport-該傳輸是按照文件的方式進(jìn)程傳輸。雖然這種方式不提供Java的實(shí)現(xiàn),但是實(shí)現(xiàn)起來非常簡單。4、TMemoryTransport-使用內(nèi)存I/O,底層用Java中的ByteArrayOutputStream實(shí)現(xiàn)。5、TZlibTransport-使用執(zhí)行zlib壓縮,不提供Java的實(shí)現(xiàn)。,Thrift支持的服務(wù)模型,1、TSimpleServer單線程服務(wù)器端使用標(biāo)準(zhǔn)的堵塞式I/O。類似于客戶端的TSocket。2、TThreadPoolServer多線程服務(wù)模型,使用標(biāo)準(zhǔn)的阻塞式IO。類似于客戶端的TFramedTransport。3、TNonblockingServer多線程服務(wù)模型,使用非阻塞式IO,需求分析,(1)隨處注冊(cè):從任意業(yè)務(wù)系統(tǒng)均可注冊(cè),各個(gè)業(yè)務(wù)系統(tǒng)共用一個(gè)用戶信息。(2)隨處登錄:從任意業(yè)務(wù)系統(tǒng)均可登錄,返回登錄票據(jù),其他業(yè)務(wù)系統(tǒng)均無需再登錄。(3)隨時(shí)鑒權(quán):用戶在業(yè)務(wù)系統(tǒng)上任意的操作均需鑒權(quán)票據(jù)是否過期。(4)隨處退出:從任意業(yè)務(wù)系統(tǒng)均可退出,其他業(yè)務(wù)系統(tǒng)均顯示退出。(5)日志記錄:用戶的任意單點(diǎn)登錄操作均有日志查詢。,需求分析,系統(tǒng)設(shè)計(jì),單點(diǎn)登錄(SingleSignOn縮寫是SSO)是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。另外,在任意一個(gè)系統(tǒng)登出,其他的系統(tǒng)均退出。是目前市場上流行的企業(yè)業(yè)務(wù)整合的解決方案。要實(shí)現(xiàn)SSO,需要幾點(diǎn)功能:1、注冊(cè)功能2、激活功能3、登錄功能4、鑒權(quán)功能5、退出功能,系統(tǒng)設(shè)計(jì),注冊(cè)功能設(shè)計(jì)1、用戶填寫注冊(cè)信息,各個(gè)業(yè)務(wù)系統(tǒng)提交到SSO單點(diǎn)登錄系統(tǒng)。2、到數(shù)據(jù)庫查詢?cè)撚脩羰欠袷呛诿麊巍?、如果是黑名單則返回各個(gè)應(yīng)用系統(tǒng)該用戶是黑名單,記錄日志。4、查詢用戶信息在數(shù)據(jù)庫中是否已經(jīng)存在。5、該用戶已經(jīng)存在,返回各個(gè)應(yīng)用系統(tǒng),該用戶名已經(jīng)存在,記錄日志。,系統(tǒng)設(shè)計(jì),6、根據(jù)應(yīng)用系統(tǒng)的需求,判斷是否需要激活注冊(cè)。7、不需要激活注冊(cè),將用戶信息中密碼MD5加密后和其余信息保存至用戶表,記錄日志。8、需要激活注冊(cè),則判斷待激活用戶表中是否存在該用戶名。9、存在該用戶則返回各個(gè)應(yīng)用系統(tǒng),該用戶是待激活用戶,記錄日志。10、如果用戶是郵箱注冊(cè),將激活碼下發(fā)至用戶郵箱,記錄日志。,系統(tǒng)設(shè)計(jì),11、如果用戶是手機(jī)注冊(cè),將激活碼下發(fā)至用戶手機(jī),記錄日志。12、不存在則將用戶信息保存至待激活用戶表,記錄日志。,系統(tǒng)設(shè)計(jì),激活功能設(shè)計(jì)1、根據(jù)各個(gè)應(yīng)用系統(tǒng)傳過來的用戶信息,通過正則表達(dá)式判斷其用戶名是手機(jī)號(hào)碼注冊(cè)還是郵箱注冊(cè)。2、到數(shù)據(jù)庫查詢?cè)撚脩羰欠袷呛诿麊斡脩?,若是,返回各個(gè)應(yīng)用系統(tǒng),該用戶是黑名單用戶,記錄日志。3、查詢用戶在激活表中是否存在。4、如果不存在,返回各個(gè)應(yīng)用系統(tǒng),用戶不存在,記錄日志。5、查詢用戶的待激活時(shí)間是否已經(jīng)過期,系統(tǒng)設(shè)計(jì),6、過期返回各個(gè)應(yīng)用系統(tǒng),用戶注冊(cè)時(shí)間已經(jīng)過期,同時(shí)SSO單點(diǎn)登錄系統(tǒng)將用戶待激活記錄刪除,方便用戶重新注冊(cè),獲取待激活碼,記錄日志。7、將此待激活的用戶的信息正式保存到用戶表中,返回各個(gè)應(yīng)用系統(tǒng),激活成功,記錄日志。,系統(tǒng)設(shè)計(jì),登錄功能設(shè)計(jì)1、根據(jù)各個(gè)系統(tǒng)傳入的用戶名和密碼,判斷用戶此時(shí)是否已經(jīng)登錄。2、如果已經(jīng)登錄,返回各個(gè)應(yīng)用系統(tǒng),用戶已經(jīng)登錄,記錄日志。3、到數(shù)據(jù)庫判斷用戶名是否是黑名單。4、是黑名單則返回各個(gè)應(yīng)用系統(tǒng),該用戶是黑名單,記錄日志。5、查詢數(shù)據(jù)庫中的用戶表是否存在和該用戶名和密碼匹配用戶。,系統(tǒng)設(shè)計(jì),6、沒有匹配用戶,則返回各個(gè)應(yīng)用系統(tǒng),用戶名或者密碼錯(cuò)誤,記錄日志。7、將用戶基本信息以及生成唯一的憑據(jù)ticket給各個(gè)應(yīng)用系統(tǒng),并在用戶會(huì)話表中記錄一條數(shù)據(jù),記錄日志。,系統(tǒng)設(shè)計(jì),鑒權(quán)功能設(shè)計(jì)1、根據(jù)各個(gè)應(yīng)用系統(tǒng)的用戶登錄憑據(jù)ticket,查看會(huì)話表中是否存在記錄。2、不存在,則返回各個(gè)應(yīng)用系統(tǒng),用戶ticket已經(jīng)失效,記錄日志。3、各個(gè)應(yīng)用系統(tǒng)接收到SSO單點(diǎn)登錄系統(tǒng)的失敗響應(yīng),清除用戶客戶端的cookie中用戶信息和憑據(jù)ticket。,系統(tǒng)設(shè)計(jì),4、更新會(huì)話表的上一次操作時(shí)間,返回各個(gè)應(yīng)用系統(tǒng),用戶憑據(jù)ticket鑒權(quán)成功,記錄日志。附:如果用戶在各個(gè)系統(tǒng)10分鐘未操作界面,即各個(gè)應(yīng)用系統(tǒng)10分鐘未調(diào)用SSO單點(diǎn)登錄系統(tǒng),去鑒權(quán)ticket的有效性。SSO單點(diǎn)登錄系統(tǒng)數(shù)據(jù)庫存儲(chǔ)過程自動(dòng)將會(huì)話表中用戶鑒權(quán)數(shù)據(jù)刪除。,系統(tǒng)設(shè)計(jì),退出功能設(shè)計(jì)1、SSO應(yīng)用系統(tǒng)獲取用戶注銷信息,根據(jù)其憑據(jù)ticket,在會(huì)話表中查詢記錄。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ktv商務(wù)小姐管理制度
- 培訓(xùn)班從業(yè)人員管理制度
- 學(xué)校危化品銷毀管理制度
- 客運(yùn)公司經(jīng)營科管理制度
- 地毯廠安全生產(chǎn)管理制度
- 天然氣公司全套管理制度
- 施工甲方現(xiàn)場管理制度
- 客運(yùn)公司標(biāo)準(zhǔn)化管理制度
- 專業(yè)醫(yī)院手術(shù)室管理制度
- 房產(chǎn)公司預(yù)決算管理制度
- (完整word)a3標(biāo)準(zhǔn)規(guī)范試卷模板
- 《湯姆˙索亞歷險(xiǎn)記》整本書導(dǎo)讀課教學(xué)設(shè)計(jì)9篇
- html5 web前端期末考試復(fù)習(xí)題
- 施工現(xiàn)場平面布置要求(完整已排版)
- 2022年碳酸鉀生產(chǎn)項(xiàng)目可行性研究報(bào)告
- 軟膠囊干燥除濕轉(zhuǎn)籠用戶需求URS
- 中國科學(xué)院生態(tài)環(huán)境研究中心-環(huán)境工程A-927歷年真題2010-2015
- 漢語拼音音節(jié)表帶聲調(diào)
- 操作系統(tǒng)期末考試試卷及答案
- 中國銀行營業(yè)網(wǎng)點(diǎn)基礎(chǔ)服務(wù)禮儀規(guī)范
- SCR脫硝反應(yīng)器尺寸修改后
評(píng)論
0/150
提交評(píng)論