版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(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ù)場景 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對外提供的接口 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安全級別設(shè)計(jì) 15
用戶中心詳細(xì)設(shè)計(jì)1引言1.1編寫目的本詳細(xì)設(shè)計(jì)說明書是針對用戶中心系統(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對用戶透明的免登功能、用戶信息查詢功能等,以為所有阿里巴巴的用戶提供更好的用戶體驗(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ù)場景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ì)話信息獲取用戶信息資料注冊CCBU/ICBU新用戶用戶登錄(校驗(yàn)用戶名和密碼)一個(gè)已經(jīng)登錄的用戶進(jìn)行手動(dòng)登出系統(tǒng)的操作支持ITBU提供對對用戶透明的在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和用戶資料注冊新用戶*@paramsiteid*@paramloginid*@paramprofile*@returnUserResult*/publicUserResultregister(Stringsiteid,Stringloginid,Mapprofile);/***通過用戶的loginid、siteid和密碼驗(yàn)證用戶的有效性*@paramsiteid*@paramloginid*@parampasswd*@returnUserResult*/publicUserResultvalidate(Stringsiteid,Stringloginid,Stringpasswd);/***根據(jù)siteid和loginid查詢對應(yīng)的userid*@paramsiteid*@paramloginid*@returnUserResult*/publicUserResultgetUserIdByLongId(Stringsiteid,Stringloginid);/***根據(jù)userid查詢對應(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)識*@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ì)對外提供的接口.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ù)比對.*@paramtoken*@paramsign*@paramip*@paramref*@returnTvResult*/publicTvResultvalidate(Stringtoken,Stringip,Stringref,Stringsign);}需要依賴的外部接口.1CCBU/ICBU需提供的接口獲取用戶資料注冊用戶密碼驗(yàn)證判斷用戶名接口返回結(jié)果的設(shè)計(jì)TgResult對象設(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對象設(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對象設(shè)計(jì)publicclassAuthCookie{ privateStringsiteId; privateStringloginId; privateStringuserId; publicintgetSiteId(){ returnsiteId; } publicStringgetLoginId(){ returnloginId; } publicStringgetUserId(){ returnuserId; }}UserResult對象設(shè)計(jì)publicclassUserResult{ privateintcode; privateStringuserId; publicStringgetCode(){ returncode; } publicStringgetUserId(){ returnuserId; }}LongIdResult對象設(shè)計(jì)publicclassLongIdResult{ privateStringcode; pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年05月北京2024屆中國民生銀行資產(chǎn)管理部畢業(yè)生“未來銀行家”暑期管培生校園招考筆試歷年參考題庫附帶答案詳解
- 2025年度房地產(chǎn)開發(fā)項(xiàng)目承包商資金保障擔(dān)保合同3篇
- 2025年度拆遷安置補(bǔ)償合同模板(含房屋買賣)4篇
- 2025年度廠房用電安全改造安裝合同范本4篇
- 2025年度城市地下綜合管廊建設(shè)場地平整與施工合同4篇
- 2025年度茶園場地承包合同范本-茶樹種植基地合作經(jīng)營4篇
- 2024年04月江蘇交通銀行信用卡中心蘇州分中心校園招考筆試歷年參考題庫附帶答案詳解
- 臨時(shí)暑期工勞動(dòng)協(xié)議格式2024年版B版
- 2025年度茶園采摘加工一體化項(xiàng)目合作協(xié)議4篇
- 2025年度建筑材料運(yùn)輸安全管理與培訓(xùn)合同3篇
- 2024人教新版七年級上冊英語單詞英譯漢默寫表
- 《向心力》參考課件4
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報(bào)告
- 【地理】地圖的選擇和應(yīng)用(分層練) 2024-2025學(xué)年七年級地理上冊同步備課系列(人教版)
- 2024年深圳中考數(shù)學(xué)真題及答案
- 土方轉(zhuǎn)運(yùn)合同協(xié)議書
- Module 3 Unit 1 Point to the door(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語三年級上冊
- 智能交通信號燈安裝合同樣本
- 安全生產(chǎn)法律法規(guī)清單(2024年5月版)
- 江蘇省連云港市2023-2024學(xué)年八年級下學(xué)期期末道德與法治試卷(含答案解析)
- 2024年大學(xué)試題(宗教學(xué))-佛教文化筆試考試歷年高頻考點(diǎn)試題摘選含答案
評論
0/150
提交評論