版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄TOC\o"1-4"\h\z\u1引言 21.1編寫目的 21.2背景 21.3專用術(shù)語定義 22系統(tǒng)需求 22.1業(yè)務(wù)場(chǎng)景 22.1.1免登 22.1.2UDB 32.1數(shù)據(jù)遷移需求 33設(shè)計(jì)方案 33.1系統(tǒng)結(jié)構(gòu) 33.2模塊劃分 43.2.1UDB模塊 43.2.2免登錄模塊 54詳細(xì)設(shè)計(jì) 74.1接口設(shè)計(jì) 74.1.1內(nèi)部接口設(shè)計(jì) 7UDB模塊 7免登錄模塊 94.1.2外部接口設(shè)計(jì) 9對(duì)外提供的接口 9需要依賴的外部接口 10接口返回結(jié)果的設(shè)計(jì) 104.2數(shù)據(jù)遷移 144.2.1數(shù)據(jù)遷移說明 144.2.2方案描述 144.2.3數(shù)據(jù)庫設(shè)計(jì) 144.3緩存設(shè)計(jì) 144.3.1采用技術(shù) 144.3.2詳細(xì)方案 144.4安全級(jí)別設(shè)計(jì) 15
用戶中心詳細(xì)設(shè)計(jì)1引言1.1編寫目的本詳細(xì)設(shè)計(jì)說明書是針對(duì)用戶中心系統(tǒng)而編寫的,主要目的是描述清楚系統(tǒng)的詳細(xì)設(shè)計(jì),明確系統(tǒng)的結(jié)構(gòu)、模塊的劃分、各個(gè)模塊的功能,并確定實(shí)現(xiàn)系統(tǒng)所需的各種細(xì)節(jié),以及各個(gè)相關(guān)開發(fā)實(shí)現(xiàn)人員的職責(zé)范圍,協(xié)調(diào)不同部門之間的協(xié)同工作,以便所有實(shí)現(xiàn)者可以根據(jù)本文檔直接著手進(jìn)行自己相應(yīng)開發(fā)任務(wù)。1.2背景系統(tǒng)名稱:用戶中心簡介:用戶中心是一個(gè)將阿里巴巴中文站、國際站、ITBU各產(chǎn)品線等用戶整合在一起的,提供統(tǒng)一的用戶相關(guān)操作功能,包括中文站、國際站到ITBU對(duì)用戶透明的免登功能、用戶信息查詢功能等,以為所有阿里巴巴的用戶提供更好的用戶體驗(yàn),連同計(jì)費(fèi)中心、產(chǎn)品中心等,共同成為阿里巴巴“建國大業(yè)”項(xiàng)目的重要組成部分,是阿里巴巴未來十年戰(zhàn)略起步的重要基礎(chǔ)建設(shè)。系統(tǒng)可能的主要開發(fā)者、相關(guān)者:阿里巴巴ITBU、ITBU各產(chǎn)品線、中文站(CCBU)、國際站(ICBU)等。1.3專用術(shù)語定義文檔中出現(xiàn)的longid均指memberid,site指domain2系統(tǒng)需求2.1業(yè)務(wù)場(chǎng)景2.1.1免登從ICBU/CCBU免登錄到ITBU(單向)一個(gè)在ICBU/CCBU已經(jīng)登錄成功的用戶,點(diǎn)擊ICBU/CCBU網(wǎng)站頁面或ITBU頁面上的一個(gè)鏈接,直接免登錄到ITBU,而不需要再次登錄。從旺旺聊天面板免登錄到ITBU用戶點(diǎn)擊阿里旺旺聊天窗口內(nèi)的一個(gè)鏈接,能直接免登錄到ITBU,不需要重新登錄一次。2.1.2UDB由業(yè)務(wù)模塊遠(yuǎn)程調(diào)用用戶信息相關(guān)接口由業(yè)務(wù)模塊,比如ITBU的E網(wǎng)打進(jìn)、外貿(mào)版等產(chǎn)品線的業(yè)務(wù)通過遠(yuǎn)程調(diào)用UDB模塊的接口,來查詢用戶狀態(tài),包括以下各種功能:查詢當(dāng)前登錄用戶的會(huì)話信息獲取用戶信息資料注冊(cè)CCBU/ICBU新用戶用戶登錄(校驗(yàn)用戶名和密碼)一個(gè)已經(jīng)登錄的用戶進(jìn)行手動(dòng)登出系統(tǒng)的操作支持ITBU提供對(duì)對(duì)用戶透明的在CCBU/ICBU修改用戶資料、修改密碼、用戶登錄和查看用戶資料的功能系統(tǒng)內(nèi)部免登錄模塊和UDB模塊之間的訪問UDB模塊需要提供給免登錄模塊相應(yīng)的用戶登錄接口2.1數(shù)據(jù)遷移需求由于在此之前已經(jīng)有用戶系統(tǒng),新的用戶中心的開發(fā)需要考慮新老數(shù)據(jù)的遷移問題,必須將原有的數(shù)據(jù)安全、平滑地遷移到新系統(tǒng)中來。3設(shè)計(jì)方案3.1系統(tǒng)結(jié)構(gòu)用戶免登一共分3模塊,ITBU模塊,CCBU/ICBU模塊,TokenService模塊。具體模塊關(guān)系圖如圖3-1:圖3-1 具體模塊關(guān)系3.2模塊劃分3.2.1UDB模塊登錄流程:根據(jù)siteid,loginid匹配唯一的userid,若userid不存在就創(chuàng)建一個(gè);將userid,siteid,loginid,還有當(dāng)前時(shí)間戳等信息組合,通過加密算法生成當(dāng)前的登錄上下文信息;將登錄上下文信息保存到response的cookie中,在客戶端記錄以方便后期的查詢。、圖3-2 UDB用戶登錄模塊流程圖3.2.2免登錄模塊該模塊主要解決用戶從CCBU/ICBU網(wǎng)站免登到ITBU頁面模塊。主要采用token+簽名機(jī)制保證免登的安全性。CCBU/ICBU和TokenService,ITBU3個(gè)模塊分別部署在3臺(tái)不同應(yīng)用上。token目前保存在MemCached中,外部訪問全部走h(yuǎn)ttps.免登步驟與事例如下:用戶Browser
CCBU/ICBU
eg:/xxx/tgs?toURL=xxx傳參校驗(yàn),生成保存token至Memcached.用戶Browser
ITBUeg:/xxx/tvs?token=xxxx&sign=xxxxtoken,ip,ref參數(shù)校驗(yàn),從MemCached中取ip,ref跟當(dāng)前Request的ip,ref做參數(shù)校驗(yàn)用戶Browser
錢掌柜/外貿(mào)版/E網(wǎng)打盡
eg:
/圖3-3 用戶免登錄模塊順序圖圖3-4 用戶免登錄模塊流程圖4詳細(xì)設(shè)計(jì)4.1接口設(shè)計(jì)4.1.1內(nèi)部接口設(shè)計(jì)UDB模塊.1.1AuthCookie內(nèi)容設(shè)計(jì)Authcookie用來存放udb的sessionid,保存格式:cookie名稱:udb:az存放內(nèi)容:SiteidLoginidUserid用戶顯示名稱將以上三個(gè)數(shù)據(jù)用AES的方式加密壓縮后存儲(chǔ)在Cookie中sid之前加上名稱前綴udb,防止該cookie的值被業(yè)務(wù)模塊不小心覆蓋。publicinterfaceIUserService{/***獲得當(dāng)前的登錄用戶信息*@paramrequest*@returnAuthCookie*/publicAuthCookiegetAuthCookie(HttpServletRequestrequest);/***根據(jù)userId獲取用戶資料*@paramuserId*@returnUserProfileResult*/publicUserProfileResultgetUserProfileByUserId(StringuserId);/***根據(jù)siteid,loginid和用戶資料注冊(cè)新用戶*@paramsiteid*@paramloginid*@paramprofile*@returnUserResult*/publicUserResultregister(Stringsiteid,Stringloginid,Mapprofile);/***通過用戶的loginid、siteid和密碼驗(yàn)證用戶的有效性*@paramsiteid*@paramloginid*@parampasswd*@returnUserResult*/publicUserResultvalidate(Stringsiteid,Stringloginid,Stringpasswd);/***根據(jù)siteid和loginid查詢對(duì)應(yīng)的userid*@paramsiteid*@paramloginid*@returnUserResult*/publicUserResultgetUserIdByLongId(Stringsiteid,Stringloginid);/***根據(jù)userid查詢對(duì)應(yīng)的longid(siteid和loginid)*@paramuserid*@returnLongIdResult,包含:*1、一個(gè)String類型的siteid*2、一個(gè)String類型的loginid*3、一個(gè)int類型code,表明狀態(tài)*/publicLongIdResultgetLongIdByUserId(Stringuserid);}免登錄模塊TokenService內(nèi)部接口/** *目標(biāo)URL的白名單校驗(yàn)*@paramtoURL–目標(biāo)地址*/privatebooleanvalidateURL(StringtoURL);/** *生成token,sign并存入MemCached*@paramip–發(fā)起端ip*@paramref–發(fā)起端具體url地址*@paramsite–網(wǎng)站標(biāo)識(shí)*@paramtoURL–目標(biāo)端url*@returnMap–null則失敗,否則返回(token:xxxx,sign:xxx)*/privateMapgenerateAndSaveToken(Stringip,Stringref,Stringsite,StringtoURL,Stringsign)/** *刪除token從MemCached*@paramtoURL–目標(biāo)地址*/privatebooleandeleteToken(Stringtoken);4.1.2外部接口設(shè)計(jì)對(duì)外提供的接口.1UDB模塊.2免登錄模塊TokenService提供以下2個(gè)REST接口服務(wù):publicinterfaceITokenService{ /** *<p>校驗(yàn)?zāi)繕?biāo)URL</p> *<p>生成并保存Token</p>*@returnTgResult*/publicTgResultgenerateTvsURL(StringloginId,Stringsite,StringtoURL,Stringref,Stringip);/***根據(jù)傳入token,ip,ref校驗(yàn)正確性,傳入token在MemCache查詢各個(gè)參數(shù),再進(jìn)行參數(shù)比對(duì).*@paramtoken*@paramsign*@paramip*@paramref*@returnTvResult*/publicTvResultvalidate(Stringtoken,Stringip,Stringref,Stringsign);}需要依賴的外部接口.1CCBU/ICBU需提供的接口獲取用戶資料注冊(cè)用戶密碼驗(yàn)證判斷用戶名接口返回結(jié)果的設(shè)計(jì)TgResult對(duì)象設(shè)計(jì)publicclassTgResult{ publicfinalstaticintSUCCESS=0; publicfinalstaticintINVALID_TOURL=1; publicfinalstaticintMEMCACHED_COMMUNICATED_ERROR=2; publicfinalstaticintINVALID_TVS_URL=3; privateintresultCode; privateStringtvsURL; privateStringmessage; publicintgetResultCode(){ returnresultCode; } publicvoidsetResultCode(intresultCode){ this.resultCode=resultCode; } publicStringgetTvsURL(){ returntvsURL; } publicvoidsetTvsURL(StringtvsURL){ this.tvsURL=tvsURL; } publicStringgetMessage(){ returnmessage; } publicvoidsetMessage(Stringmessage){ this.message=message; } }TvResult對(duì)象設(shè)計(jì)publicclassTvResult{ publicfinalstaticintSUCCESS=0; publicfinalstaticintINVALID_IP=1; publicfinalstaticintINVALID_REF=2; publicfinalstaticintINVALID_TOKEN=3; publicfinalstaticintINVALID_SIGN=4; publicfinalstaticintMEMCACHED_COMMUNICATED_ERROR=5; privateintresultCode; privateStringloginId; privateStringsite; privateStringtoURL; privateStringmessage; publicintgetResultCode(){ returnresultCode; } publicvoidsetResultCode(intresultCode){ this.resultCode=resultCode; } publicStringgetLoginId(){ returnloginId; } publicvoidsetLoginId(StringloginId){ this.loginId=loginId; } publicStringgetSite(){ returnsite; } publicvoidsetSite(Stringsite){ this.site=site; } publicStringgetToURL(){ returntoURL; } publicvoidsetToURL(StringtoURL){ this.toURL=toURL; } publicStringgetMessage(){ returnmessage; } publicvoidsetMessage(Stringmessage){ this.message=message; } }AuthCookie對(duì)象設(shè)計(jì)publicclassAuthCookie{ privateStringsiteId; privateStringloginId; privateStringuserId; publicintgetSiteId(){ returnsiteId; } publicStringgetLoginId(){ returnloginId; } publicStringgetUserId(){ returnuserId; }}UserResult對(duì)象設(shè)計(jì)publicclassUserResult{ privateintcode; privateStringuserId; publicStringgetCode(){ returncode; } publicStringgetUserId(){ returnuserId; }}LongIdResult對(duì)象設(shè)計(jì)publicclassLongIdResult{ privateStringcode; pr
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 走進(jìn)小學(xué)活動(dòng)方案樣本(3篇)
- 二零二五年度二手房交易稅費(fèi)計(jì)算合同樣本3篇
- 二零二五年度辦公大樓智能化系統(tǒng)運(yùn)維合同2篇
- 2025年度涂料涂料工程招標(biāo)代理服務(wù)合同范本3篇
- 2025年三年級(jí)上學(xué)期英語教師工作總結(jié)范文(2篇)
- 煤礦綜掘綜合防塵管理制度(3篇)
- 自學(xué)書法系統(tǒng)課程設(shè)計(jì)
- 輪形課程設(shè)計(jì)
- 二零二五年度個(gè)人住房裝修貸款保證合同3篇
- 2025年高一班級(jí)工作計(jì)劃(二篇)
- 重慶三峰環(huán)境集團(tuán)股份有限公司招聘筆試題庫2024
- 中國式現(xiàn)代化為主題的論文3000字(1) (1)全文
- YB2防爆電機(jī)使用說明書
- 安全生產(chǎn)法律法規(guī)清單(2024年5月版)
- 江蘇省連云港市2023-2024學(xué)年八年級(jí)下學(xué)期期末道德與法治試卷(含答案解析)
- 2024年大學(xué)試題(宗教學(xué))-佛教文化筆試考試歷年高頻考點(diǎn)試題摘選含答案
- 三年級(jí)下冊(cè)語文必背古詩詞
- 老年人譫妄中西醫(yī)結(jié)合診療專家共識(shí)
- 團(tuán)餐食品安全年度匯報(bào)
- 華西解剖學(xué)課件緒論和骨學(xué)總論
- 2024平安保險(xiǎn)測(cè)評(píng)題庫
評(píng)論
0/150
提交評(píng)論