版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、系統(tǒng)整合培訓(xùn)LOGO* CONTENTS PAGE 目錄頁1系統(tǒng)拆分概述系統(tǒng)拆分技術(shù)準(zhǔn)備如何拆分?達(dá)到目標(biāo)234* TRANSITION PAGE 過渡頁為什么要拆分?拆分遵循的原則第一章 系統(tǒng)拆分概述第一章 系統(tǒng)拆分概述1. 隨著業(yè)務(wù)的發(fā)展,模塊之間的耦合性越來越強(qiáng)第一節(jié) 為什么要拆分?1. 系統(tǒng)按照業(yè)務(wù)拆分按照高內(nèi)聚、 低耦合的條件進(jìn)行拆分2. 開發(fā)人員越來越多,相互之間代碼版本也難以管理4.系統(tǒng)越大,硬件要求也會(huì)越來越高,但是硬件是有極 限的, 隨著數(shù)據(jù)量以及并發(fā)量的不斷上升,其解決方案 的成本也會(huì)隨之直線上漲 3. 難于維護(hù),難于擴(kuò)展第二節(jié) 拆分遵循的原則2. 盡量減少系統(tǒng)之間的通信第
2、二章 技術(shù)準(zhǔn)備第二章 系統(tǒng)拆分技術(shù)準(zhǔn)備?CAS單點(diǎn)登錄Shiro單點(diǎn)登錄流程圖第一節(jié) CAS單點(diǎn)登錄Maven繼承管理依賴包及拆分的子項(xiàng)目依賴關(guān)系說明Dubbo使用Rabbit MQ使用第二章 技術(shù)準(zhǔn)備左圖是一個(gè)最基礎(chǔ)的 CAS 協(xié)議, CAS Client 以 Filter 方式保護(hù) Web 應(yīng)用的受保護(hù)資源,過濾從客戶端過來的每一個(gè) Web 請(qǐng)求,同時(shí), CAS Client 會(huì)分析 HTTP 請(qǐng)求中是否包含 Service Ticket( 左圖中的 Ticket) ,如果沒有,則說明該用戶是沒有經(jīng)過認(rèn)證的,于是, CAS Client 會(huì)重定向用戶請(qǐng)求到 CAS Server ( Ste
3、p 2 )。 Step 3 是用戶認(rèn)證過程,如果用戶提供了正確的 Credentials , CAS Server 會(huì)產(chǎn)生一個(gè)隨機(jī)的 Service Ticket ,然后,緩存該 Ticket ,并且重定向用戶到 CAS Client (附帶剛才產(chǎn)生的 Service Ticket ), Service Ticket 是不可以偽造的,最后, Step 5 和 Step6 是 CAS Client 和 CAS Server 之間完成了一個(gè)對(duì)用戶的身份核實(shí),用 Ticket 查到 Username 第二章 技術(shù)準(zhǔn)備第二節(jié) ShiroShiro能做什么? 認(rèn)證、授權(quán)、加密、會(huì)話管理、 與Web集成、
4、緩存等。Authentication:身份認(rèn)證/登錄,驗(yàn)證用戶是不是擁有相應(yīng)的身份;(在我們系統(tǒng)是用CAS做身份認(rèn)證, shiro做授權(quán)功能)Authorization:授權(quán),即權(quán)限驗(yàn)證,驗(yàn)證某個(gè)已認(rèn)證的用戶是否擁有某個(gè)權(quán)限;即判斷用戶是否能做事情,常見的如:驗(yàn)證某個(gè)用戶是否擁有某個(gè)角色?;蛘呒?xì)粒度的驗(yàn)證某個(gè)用戶對(duì)某個(gè)資源是否具有某個(gè)權(quán)限;Session Manager:會(huì)話管理,即用戶登錄后就是一次會(huì)話,在沒有退出之前,它的所有信息都在會(huì)話中;會(huì)話可以是普通JavaSE環(huán)境的,也可以是如Web環(huán)境的;Cryptography:加密,保護(hù)數(shù)據(jù)的安全性,如密碼加密存儲(chǔ)到數(shù)據(jù)庫,而不是明文存儲(chǔ);W
5、eb Support:Web 支持,可以非常容易的集成到Web 環(huán)境;Caching:緩存,比如用戶登錄后,其用戶信息、擁有的角色/權(quán)限不必每次去查,這樣可以提高效率;第二章 技術(shù)準(zhǔn)備Concurrency:shiro 支持多線程應(yīng)用的并發(fā)驗(yàn)證,即如在一個(gè)線程中開啟另一個(gè)線程,能把權(quán)限自動(dòng)傳播過去;Testing:提供測(cè)試支持;Run As:允許一個(gè)用戶假裝為另一個(gè)用戶(如果他們?cè)试S)的身份進(jìn)行訪問;Remember Me:記住我,這個(gè)是非常常見的功能,即一次登錄后,下次再來的話不用登錄了。記住一點(diǎn),Shiro 不會(huì)去維護(hù)用戶、維護(hù)權(quán)限;這些需要我們自己去設(shè)計(jì)/提供;然后通過相應(yīng)的接口注入給S
6、hiro即可??梢钥吹剑簯?yīng)用代碼直接交互的對(duì)象是Subject,也就是說Shiro的對(duì)外API核心就是Subject;其每個(gè)API的含義:Subject:主體,代表了當(dāng)前“用戶”,這個(gè)用戶不一定是一個(gè)具體的人,與當(dāng)前應(yīng)用交互的任何東西都是Subject,如網(wǎng)絡(luò)爬蟲,機(jī)器人等;即一個(gè)抽象概念;所有Subject 都綁定到SecurityManager,與Subject的所有交互都會(huì)委托給SecurityManager;可以把Subject認(rèn)為是一個(gè)門面;SecurityManager才是實(shí)際的執(zhí)行者;SecurityManager:安全管理器;即所有與安全有關(guān)的操作都會(huì)與SecurityMana
7、ger 交互;且它管理著所有Subject;可以看出它是Shiro 的核心,它負(fù)責(zé)與后邊介紹的其他組件進(jìn)行交互,如果學(xué)習(xí)過SpringMVC,你可以把它看成DispatcherServlet前端控制器;Realm:域,Shiro從從Realm獲取安全數(shù)據(jù)(如用戶、角色、權(quán)限),就是說SecurityManager要驗(yàn)證用戶身份,那么它需要從Realm獲取相應(yīng)的用戶進(jìn)行比較以確定用戶身份是否合法;也需要從Realm得到用戶相應(yīng)的角色/權(quán)限進(jìn)行驗(yàn)證用戶是否能進(jìn)行操作;可以把Realm看成DataSource,即安全數(shù)據(jù)源。也就是說對(duì)于我們而言,最簡單的一個(gè)Shiro 應(yīng)用:1、應(yīng)用代碼通過Subj
8、ect來進(jìn)行認(rèn)證和授權(quán),而Subject又委托給SecurityManager;2、我們需要給Shiro 的SecurityManager 注入Realm,從而讓SecurityManager 能得到合法的用戶及其權(quán)限進(jìn)行判斷。從以上也可以看出,Shiro不提供維護(hù)用戶/權(quán)限,而是通過Realm讓開發(fā)人員自己注入。第二章 技術(shù)準(zhǔn)備第二章 技術(shù)準(zhǔn)備第三節(jié) Maven繼承管理依賴包及拆分的子項(xiàng)目依賴關(guān)系說明Maven 是一套標(biāo)準(zhǔn)的項(xiàng)目構(gòu)建和管理工具,使用統(tǒng)一規(guī)范的腳本進(jìn)行項(xiàng)目構(gòu)建,簡單易用,如果能充分利用maven中的繼承關(guān)系管理依賴包,可避免重復(fù)寫入依賴相同的包。第二章 技術(shù)準(zhǔn)備判斷是否提供ta
9、rgetBeanName初始化參數(shù),如果沒有提供則直接使用filter的name做為beanName舉例:base-data工程包含base-data-api,base-data-core,base-data-web等3個(gè)模塊base-common:主要提供基礎(chǔ)功能類和通用工具類,供其他項(xiàng)目依賴,參照每個(gè)項(xiàng)目根目錄下的readmebase-data-api:這個(gè)是對(duì)其他子系統(tǒng)提供的服務(wù)接口,客戶端通過dubbo來調(diào)用服務(wù)接口.base-data-core:這個(gè)子模塊依賴base-data-api,base-common,主要提供業(yè)務(wù)實(shí)現(xiàn),主要包含base-data-api的實(shí)現(xiàn)類,dao和da
10、o實(shí)現(xiàn)類,service接口及service實(shí)現(xiàn)類,以及操作表的xml配置文件和xml對(duì)應(yīng)的model類.base-data-web:依賴base-data-core.注意:core模塊不提供接口,其他子系統(tǒng)也不能依賴它.其他子系統(tǒng)只能依賴api模塊,web模塊可提供手機(jī)端url請(qǐng)求調(diào)用。第二章 技術(shù)準(zhǔn)備第二章 技術(shù)準(zhǔn)備第四節(jié) Dubbo使用服務(wù)端dubbo配置:客戶端dubbo配置:第二章 技術(shù)準(zhǔn)備第五節(jié) Rabbit MQ使用第二章 技術(shù)準(zhǔn)備 生產(chǎn)者生產(chǎn)消息 消費(fèi)者消費(fèi)消息第二章 技術(shù)準(zhǔn)備第三章 如何拆分?1 根據(jù)對(duì)舊系統(tǒng)的分析,將舊系統(tǒng)拆分成如下工程:base-data,cmct,eb-base,eb-bi,eb-finance,eb-site,eb-storage, Framework,hr,interflow,workflow,所有web模塊都依賴framework,每個(gè)子系統(tǒng)都要有舊系統(tǒng)的布局框架頁面2 有一個(gè)集中權(quán)限管理系統(tǒng),完成對(duì)各個(gè)子系統(tǒng)進(jìn)行集中授權(quán)。3 拆分過程注意事項(xiàng):a) wuyizhiye改成ffzx. b)代碼不依賴license. c)每個(gè)子系統(tǒng)中保留framework內(nèi)的workbench相關(guān)整體布局的頁面及公共的頁面(無權(quán)訪問,出錯(cuò)頁面等頁面) d)不引入無用的依賴包 e)字段前綴F和FK去掉,如果去掉后名字和關(guān)鍵字重復(fù),
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 清潔生產(chǎn)技術(shù)改造項(xiàng)目合同
- 企業(yè)管理軟件銷售合同
- 制造業(yè)自動(dòng)化設(shè)備維護(hù)管理系統(tǒng)開發(fā)合同
- 企業(yè)自動(dòng)化生產(chǎn)設(shè)備采購合同
- 【協(xié)議書】食品加工合伙經(jīng)營協(xié)議書
- 云計(jì)算服務(wù)平臺(tái)戰(zhàn)略合作協(xié)議
- 新能源汽車動(dòng)力電池項(xiàng)目合同
- 醫(yī)院餐飲廚房設(shè)備衛(wèi)生保障方案
- 旅游景區(qū)防汛演練方案
- 法治宣傳與科技創(chuàng)新活動(dòng)方案
- 75t循環(huán)流化床鍋爐設(shè)計(jì)說明書
- JT∕T 1443-2022 冷鏈運(yùn)輸監(jiān)控管理平臺(tái)技術(shù)要求
- 2021-2022學(xué)年安徽省銅陵市銅官區(qū)八年級(jí)(上)期末數(shù)學(xué)試題及答案解析
- QC080000-2017內(nèi)審員測(cè)試題及答案
- 群耀實(shí)業(yè)蘇州有限公司員工宿舍
- 企業(yè)技術(shù)中心成立文件
- 西方二十世紀(jì)文論
- 部編版語文四年級(jí)上冊(cè)作文歸納整理總復(fù)習(xí)課件
- 配電項(xiàng)目工程重點(diǎn)、難點(diǎn)及解決措施
- 充氨安全安全操作規(guī)程20某0310
- 側(cè)支架鉆孔組合機(jī)床總體設(shè)計(jì)【帶圖紙】
評(píng)論
0/150
提交評(píng)論