Shiro在集團(tuán)統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)中的應(yīng)用20160121_第1頁
Shiro在集團(tuán)統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)中的應(yīng)用20160121_第2頁
Shiro在集團(tuán)統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)中的應(yīng)用20160121_第3頁
Shiro在集團(tuán)統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)中的應(yīng)用20160121_第4頁
Shiro在集團(tuán)統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)中的應(yīng)用20160121_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

集團(tuán)統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)Shiro的應(yīng)用中科軟科技股份有限公司2016年1月目錄TOC\o"1-4"\h\z\u第1章 SHIRO簡介 31.1 SHIRO是什么 31.2 SHIRO框架結(jié)構(gòu) 51.2.1 外部使用結(jié)構(gòu) 51.2.2 內(nèi)部調(diào)用結(jié)構(gòu) 6第2章 單點(diǎn)登錄 72.1 概述 72.2 REALM的配置 72.2.1 定義實(shí)體與關(guān)系 72.2.2 定義REALM 82.3 單點(diǎn)登錄機(jī)制 8第3章 身份驗(yàn)證 93.1 概述 93.2 身份驗(yàn)證機(jī)制 9第4章 授權(quán) 104.1 概述 104.2 授權(quán)機(jī)制 10第5章 加密 115.1 概述 115.2 加密與密碼驗(yàn)證機(jī)制 11第6章 會(huì)話管理 126.1 概述 126.2 會(huì)話管理機(jī)制 126.3 會(huì)話監(jiān)聽機(jī)制 136.4 會(huì)話存儲(chǔ)機(jī)制 13第7章 緩存管理 13第8章 授予身份及切換身份 13第9章 總結(jié) 14摘要在當(dāng)今經(jīng)濟(jì)形勢的驅(qū)動(dòng)下,保險(xiǎn)行業(yè)有著快速、深度、長遠(yuǎn)的發(fā)展,因保險(xiǎn)公司內(nèi)部壽險(xiǎn)、財(cái)險(xiǎn)、車險(xiǎn)等部門急速壯大,分別成立子公司,保險(xiǎn)公司集團(tuán)化隨之而產(chǎn)生。鑒于保險(xiǎn)行業(yè)的變化,保險(xiǎn)軟件系統(tǒng)大而全的應(yīng)用部署,按照模塊、層次、序列等方式劃分為獨(dú)立的專項(xiàng)應(yīng)用系統(tǒng)。對于繁多的應(yīng)用系統(tǒng),集團(tuán)統(tǒng)一的賬號(hào)權(quán)限管理系統(tǒng)孕育而生。本文主要就太天平洋保險(xiǎn)公司,從業(yè)務(wù)的實(shí)際現(xiàn)狀、系統(tǒng)核心設(shè)計(jì)、系統(tǒng)核心功能以及功能優(yōu)缺點(diǎn)等方面闡述Shiro在集團(tuán)統(tǒng)一賬號(hào)權(quán)限系統(tǒng)中的應(yīng)用。賬號(hào)權(quán)限系統(tǒng)主要應(yīng)用Shiro的特性,使賬號(hào)權(quán)限統(tǒng)一管理,帶來的優(yōu)質(zhì)體驗(yàn);:對各個(gè)系統(tǒng)的權(quán)限監(jiān)管;方便客戶權(quán)限的申請,以及各個(gè)權(quán)限系統(tǒng)的切換;高效的管理賬號(hào)權(quán)限,以避免多次重復(fù)的賬戶權(quán)限維護(hù);良好的保險(xiǎn)系統(tǒng)群擴(kuò)展結(jié)構(gòu)等。關(guān)鍵字:Shiro,低耦合SHIRO簡介SHIRO是什么ApacheShiro是Java的一個(gè)強(qiáng)大而靈活的開源安全框架,能夠非常清晰、簡單的處理身份驗(yàn)證、授權(quán)、管理會(huì)話、密碼加密等常見的Subject(主體)所面臨的問題。Shiro不依賴與環(huán)境,JavaSE可以,JavaEE也可以,非常容易的開發(fā)出足夠好的應(yīng)用。ApacheShiro是的致力于易于使用和理解。安全對于一般開發(fā)者而言,是很復(fù)雜的,甚至是痛苦的。但在使用Shiro過程中,沒必要這樣。Shiro框架會(huì)將復(fù)雜的地方掩蓋,給開發(fā)者一個(gè)干凈而直觀的API,來簡化開發(fā)人員對安全問題的解決辦法。ApacheShiro基本功能點(diǎn)如下圖所示:Authentication:身份驗(yàn)證/登錄,驗(yàn)證用戶他是誰;Authorization:授權(quán),即權(quán)限驗(yàn)證,驗(yàn)證已認(rèn)證的用戶是否擁有某個(gè)權(quán)限;SessionManager:會(huì)話管理,即Session,用戶登錄后就是一次會(huì)話,在沒有退出之前或限定時(shí)間內(nèi),它的所有信息都在會(huì)話中;會(huì)話可以是普通JavaSE環(huán)境的,也可以是如Web環(huán)境的;Cryptography:加密,數(shù)據(jù)的安全性的管理;WebSupport:Web支持,可以非常容易的集成到Web環(huán)境;Caching:緩存,比如用戶登錄后,其用戶信息、擁有的角色/權(quán)限等信息進(jìn)行緩存管理,不必每次訪問數(shù)據(jù)庫去查,這樣以實(shí)現(xiàn)提高效率的目的;Concurrency:Shiro支持多線程應(yīng)用的并發(fā)驗(yàn)證,即如在一個(gè)線程中開啟另一個(gè)線程,能把權(quán)限自動(dòng)傳播過去;Testing:提供測試支持;RunAs:允許一個(gè)用戶假裝為另一個(gè)用戶(如果他們允許)的身份進(jìn)行訪問;RememberMe:記住我,非常常見使用的功能。Shiro視圖在所有應(yīng)用程序環(huán)境下實(shí)現(xiàn)以下目標(biāo):從最簡單的命令應(yīng)用程序到最大的企業(yè)應(yīng)用,不強(qiáng)制依賴其他第三方框架、,容器,或應(yīng)用服務(wù)器。項(xiàng)目的最終目標(biāo)是整合到這些環(huán)境中,盡可能地將其自身的功能更加強(qiáng)大、便捷!SHIRO框架結(jié)構(gòu)外部使用結(jié)構(gòu)從Shiro框架外部來看,其結(jié)構(gòu)如下圖所示:應(yīng)用代碼直接交互的對象是Subject,也就是說Shiro的對外的API核心就是Subject,其每個(gè)API的含義:Subject:主體,代表當(dāng)前“用戶”,這個(gè)用戶不一定是具體的人,與當(dāng)前應(yīng)用交互的任何東西都是Subject。所有Subject都綁定到SecurityManager,與Subject的所有交互都會(huì)委托給SecurityManager;可以把Subject認(rèn)為是一個(gè)門面;SecurityManager才是實(shí)際的執(zhí)行者;SecurityManager:安全管理器,即所有由安全有關(guān)的操作都會(huì)與SecurityManager交互,且它管理著所有的Subject。它是Shiro的核心,它負(fù)責(zé)與后邊介紹的其他組件進(jìn)行交互。Realm:Shiro從Realm獲取安全數(shù)據(jù)(如用戶、角色、權(quán)限)。可以把Realm看成DataSource,即安全數(shù)據(jù)源。也就是說,最簡單的一個(gè)Shiro應(yīng)用:1.應(yīng)用代碼通過Subject來進(jìn)行認(rèn)證和授權(quán),而Subject又委托給SecurityManager;2.需要給SecurityManager注入Realm,從而讓SecurityManager能得到合法的用戶及其權(quán)限進(jìn)行判斷。內(nèi)部調(diào)用結(jié)構(gòu)從Shiro框架內(nèi)部接口、對象跳轉(zhuǎn)來看,其結(jié)構(gòu)如下圖所示:Subject:主體,可以看到主體可以是任何可以與應(yīng)用交互的“用戶”;SecurityManager:Shiro的核心,所有具體的交互都通過SecurityManager進(jìn)行控制;它管理著所有Subject、且負(fù)責(zé)進(jìn)行認(rèn)證和授權(quán)、及會(huì)話、緩存等任務(wù)的管理;Authenticator:認(rèn)證器,負(fù)責(zé)主體認(rèn)證的,這是一個(gè)擴(kuò)展點(diǎn),用戶可進(jìn)行自定義用戶驗(yàn)證的實(shí)現(xiàn)方式。其需要認(rèn)證策略(AuthenticationStrategy),即什么情況下算用戶認(rèn)證通過;Authrizer:授權(quán)器,或者訪問控制器,用來決定主體是否有權(quán)限進(jìn)行相應(yīng)的操作;即控制著用戶能訪問應(yīng)用中的那些功能。這也是一個(gè)擴(kuò)展點(diǎn);Realm:可以有1個(gè)或多個(gè)Realm,可以認(rèn)為是安全實(shí)體數(shù)據(jù)源,即用于獲取安全實(shí)體的。可以是JDBC實(shí)現(xiàn),也可以是LDAP實(shí)現(xiàn)等等。由用戶提供。因數(shù)據(jù)格式的不同,所有在應(yīng)用中都需要實(shí)現(xiàn)自己的Realm;SessionManager:Shiro抽象了一個(gè)自己的Session來管理主體與應(yīng)用之間交互的數(shù)據(jù),因此Shiro可以不依賴環(huán)境進(jìn)行Session的管理;SessionDAO:數(shù)據(jù)訪問對象,用于會(huì)話的CRUD,比如想把Session保存到數(shù)據(jù)庫,那么可以實(shí)現(xiàn)自己的SessionDAO,通過JDBC寫入到數(shù)據(jù)庫;另外SessionDAO中可以使用Cache進(jìn)行緩存,以提高性能;CacheManager:緩存控制器,來管理如用戶、角色、權(quán)限等的緩存的;這些數(shù)據(jù)基本很少改變,放到緩存中后可以提高訪問的性能;Cryprography:密碼模塊,Shiro提供了一些常見的加密組件,用于密碼加密/解密。單點(diǎn)登錄概述太平洋保險(xiǎn)公司(以下簡稱“太保”)在對系統(tǒng)集成管理過程中,由統(tǒng)一賬號(hào)權(quán)限管理系統(tǒng)來實(shí)現(xiàn)單點(diǎn)登錄,很好的解決了如下方面的問題:賬號(hào)權(quán)限管理集中統(tǒng)一化;賬號(hào)開通、注銷、權(quán)限變更信息化,提高工作效率;賬號(hào)情況日常監(jiān)控與定期審閱,流程、權(quán)限合規(guī);避免賬號(hào)或權(quán)限不當(dāng)導(dǎo)致的風(fēng)險(xiǎn)。REALM的配置定義實(shí)體與關(guān)系用戶、角色、權(quán)限是目前多數(shù)系統(tǒng)共有的元素,用戶-角色之間是多對多關(guān)系,角色-權(quán)限之間是多對多關(guān)系;且用戶和權(quán)限之間通過角色建立關(guān)系。在太保賬戶權(quán)限系統(tǒng)中,創(chuàng)建用戶,以及用戶與角色之間的關(guān)系(授權(quán));接入系統(tǒng)創(chuàng)建角色、權(quán)限、以及角色與權(quán)限之間的關(guān)系。此設(shè)計(jì)的優(yōu)點(diǎn)如下:權(quán)限的多樣性得以實(shí)現(xiàn)。接入系統(tǒng)可以按照自身系統(tǒng)的設(shè)計(jì)模式,將權(quán)限應(yīng)該對應(yīng)到資源(如菜單、URL、頁面按鈕、Java方法等)中,具體的資源形式只與自身系統(tǒng)相關(guān),與賬號(hào)權(quán)限系統(tǒng)無關(guān),進(jìn)行最大化的解耦;角色即為權(quán)限的集合,當(dāng)權(quán)限對應(yīng)的資源驗(yàn)收完成后上線時(shí),權(quán)限所屬的角色已經(jīng)確定,相應(yīng)的權(quán)限與相應(yīng)的角色建立關(guān)系(屬于業(yè)務(wù)需求開發(fā)內(nèi)容)。權(quán)限與角色的關(guān)系有著業(yè)務(wù)性較強(qiáng)、規(guī)則較為復(fù)雜等特點(diǎn),放入接入系統(tǒng)實(shí)現(xiàn),得以術(shù)業(yè)有專攻;用戶管理、授權(quán)管理得以統(tǒng)一有效的管理。所有的接入系統(tǒng)都有著無差別的用戶群體,賬號(hào)權(quán)限系統(tǒng)的用戶、授權(quán)管理,一方面體現(xiàn)其統(tǒng)一性:使每個(gè)系統(tǒng)賬號(hào)統(tǒng)一,利于監(jiān)管;另一方面體現(xiàn)其高效性:此前的多個(gè)系統(tǒng)賬號(hào)維護(hù),只需在當(dāng)前一個(gè)系統(tǒng)維護(hù),例如入職、離職等。定義REALMRealm,Shiro從Realm獲取安全數(shù)據(jù)源(如用戶、角色、權(quán)限),就是說SecurityManager的驗(yàn)證用戶身份、用戶授權(quán)、SessionManager等均需要通過Realm來實(shí)現(xiàn)數(shù)據(jù)持久化。對于當(dāng)前的太保賬號(hào)權(quán)限管理系統(tǒng),只有一個(gè)數(shù)據(jù)源,一個(gè)Realm就可以支持,但考慮系統(tǒng)的擴(kuò)展型,還是按照多Realm結(jié)構(gòu)進(jìn)行定義。根據(jù)功能不同,Realm的接口實(shí)現(xiàn)與繼承關(guān)系如下圖:其實(shí)現(xiàn)類含義內(nèi)容:AuthorizingRealm:授權(quán)AuthenticatingRealm:身份驗(yàn)證CachingRealm:帶有緩存實(shí)現(xiàn)單點(diǎn)登錄機(jī)制賬號(hào)權(quán)限系統(tǒng)基于單點(diǎn)登錄,設(shè)計(jì)模式如下:公司員工均使用員工工號(hào)作為賬號(hào)。用戶信息(表LDUser)還包含證件、聯(lián)系方式、部門、職位等信息,將接入系統(tǒng)需要用戶的所有信息納入用戶信息中;用戶的創(chuàng)建、修改、刪除等權(quán)限,只分配給賬號(hào)權(quán)限系統(tǒng)的賬戶維護(hù)員,賬號(hào)權(quán)限系統(tǒng)在對用戶創(chuàng)建、修改、刪除時(shí),通過Webservices接口將動(dòng)作指令分發(fā)給接入系統(tǒng),使用戶狀態(tài)保持一致;接入系統(tǒng)創(chuàng)建角色時(shí),通過Webservices接口將角色寫入賬號(hào)權(quán)限系統(tǒng);賬號(hào)權(quán)限系統(tǒng)在對用戶授權(quán)后,將用戶與角色關(guān)系一并分發(fā)給接入系統(tǒng);賬號(hào)權(quán)限系統(tǒng)作為接入系統(tǒng)的唯一入口,系統(tǒng)對用戶每次登陸、退出、登陸差錯(cuò)等軌跡進(jìn)行記錄,作為日常監(jiān)控、日常審閱、合規(guī)核查的備案;用戶通過賬號(hào)權(quán)限系統(tǒng)驗(yàn)證后,可以訪問已分配角色的所有接入系統(tǒng),無需再次進(jìn)行身份驗(yàn)證;用戶進(jìn)入接入系統(tǒng)后,在其中實(shí)現(xiàn)該用戶角色權(quán)限集合,即角色到權(quán)限的實(shí)現(xiàn)由各個(gè)系統(tǒng)完成,以方便實(shí)現(xiàn)每個(gè)系統(tǒng)的靈活性。身份驗(yàn)證概述身份驗(yàn)證,即在應(yīng)用中他是誰,系統(tǒng)中是否分配唯一ID。一般提供如身份ID和標(biāo)示信息來表明名他的身份。如提供用戶名、密碼等信息。在Shiro中,用戶需要提供principals(身份)和credentials(證明)給Shiro,從而應(yīng)用能驗(yàn)證用戶身份。Principals:身份,即主體的標(biāo)識(shí)屬性,可以是任何東西(具有唯一性),如員工工號(hào)、郵箱等。一個(gè)主體可以有多個(gè)Principals,但只有一個(gè)PrimaryPrincipals,一般是用戶名/員工工號(hào)/郵箱/手機(jī)號(hào)。Credentials:證明/憑證,即只有主體知道的安全值,如密碼/數(shù)字證書等。最常見的principals和credentials組合就是用戶名/密碼了。太保以員工工號(hào)作為用戶名。身份驗(yàn)證機(jī)制賬號(hào)權(quán)限系統(tǒng)的身份驗(yàn)證機(jī)制如下:前臺(tái)頁面對錄入的賬號(hào)、密碼有效性進(jìn)行初步判斷,例如非空、非法字符、過長等,以及對驗(yàn)證碼的校驗(yàn);獲取前臺(tái)信息,創(chuàng)建UsernamePasswordToken對象,由Subject調(diào)用login(token),其會(huì)自動(dòng)委托給SecurityManager。在此之前必須通過SecurityUtils設(shè)置SecurityManager;SecurityManager負(fù)責(zé)真正的身份驗(yàn)證邏輯,他委托給認(rèn)證器Authenticator進(jìn)行身份驗(yàn)證;Authenticator使用ModularRealmAuthenticator調(diào)用AuthenticavtionStrategy進(jìn)行多Realm身份驗(yàn)證。詳情請參照2.2Realm配置;Realm身份驗(yàn)證時(shí),對于驗(yàn)證不通過的用戶,按照用戶分類返回異常信息:內(nèi)網(wǎng)用戶(公司員工),精確地返回用戶名錯(cuò)誤,或密碼錯(cuò)誤外網(wǎng)用戶(代理機(jī)構(gòu)、被保險(xiǎn)人等),為防止外網(wǎng)用戶惡意訪問,返回異常信息均為用戶名或密碼錯(cuò)誤。驗(yàn)證通過則返回一個(gè)Authenticator實(shí)例。授權(quán)概述授權(quán),也叫訪問機(jī)制,即在應(yīng)用中控制誰能訪問那些資源(如訪問菜單/數(shù)據(jù)操作等)。在授權(quán)中的幾個(gè)關(guān)鍵對象:主體,即訪問應(yīng)用的用戶,在Shiro中使用Subject代表該用戶。用戶只有授權(quán)后才允許訪問相應(yīng)的資源。資源,在應(yīng)用中用戶可以訪問的任何東西,比如JSP頁面、數(shù)據(jù)操作、某個(gè)業(yè)務(wù)夜晚方法等。用戶只有授權(quán)后才能訪問。權(quán)限,安全策略中的原子授權(quán)單位,通過權(quán)限我們可以表示在應(yīng)用中,用戶有沒有操作某個(gè)資源的權(quán)力。即權(quán)限表示在應(yīng)用中用戶能不能訪問某個(gè)資源。如:核保權(quán)限對應(yīng)的新單核保。角色,代表了權(quán)限集合,一般情況下會(huì)賦予用戶角色而不是權(quán)限,即這樣用戶可以擁有一組權(quán)限,賦予權(quán)限時(shí)比較方便。例如:契約權(quán)限組、理賠權(quán)限組等。授權(quán)機(jī)制賬號(hào)權(quán)限系統(tǒng)的授權(quán)機(jī)制如下:只針對已身份驗(yàn)證通過的主體,才進(jìn)行授權(quán);當(dāng)點(diǎn)擊接入系統(tǒng)連接時(shí),系統(tǒng)首先調(diào)用Subject.hasRole*接口,其會(huì)委托給SecurityManager,而SecurityManager接著會(huì)委托給Authorizer;Authorizer是真正的授權(quán)者,其先會(huì)調(diào)用Realm的實(shí)現(xiàn)類,獲取Subject相應(yīng)的接入系統(tǒng)角色,Authorizer判斷是否包含此系統(tǒng),如果匹配到,進(jìn)入該系統(tǒng)應(yīng)用,否則提示授權(quán)失敗。加密概述在涉及到密碼存儲(chǔ)問題上,應(yīng)該加密/生成密碼摘要存儲(chǔ),而不是存儲(chǔ)明文密碼。系統(tǒng)中對用戶添加加密算法屬性,密碼加密算法有多種,就太保賬號(hào)權(quán)限系統(tǒng)而言,大體分為兩類:可逆:針對公司內(nèi)部應(yīng)用系統(tǒng),因密碼安全性要求不是很高,可能會(huì)選擇可逆算法,使用中科軟框架中的LisIDEA算法,不在贅累述。不可逆:密碼加密后不可逆,當(dāng)存在外部用戶時(shí)使用。加密步驟如下:創(chuàng)建一個(gè)DefaultHashService,指定使用MD5算法;通過privateSalt將證件號(hào)設(shè)置為私鹽,生成一個(gè)隨機(jī)數(shù),作為公鹽,將兩張合并產(chǎn)生一個(gè)新鹽;構(gòu)建一個(gè)HashRequest,傳入算法、密碼明文、私鹽+公鹽、迭代次數(shù)(2次)。即可產(chǎn)生出密文。加密與密碼驗(yàn)證機(jī)制加密與密碼驗(yàn)證核心算法一致,現(xiàn)將密碼驗(yàn)證機(jī)制進(jìn)行闡述,如下:獲取用戶的加密屬性、私鹽、公鹽、密碼密文、以及2個(gè)小時(shí)內(nèi)密碼重試次數(shù)和當(dāng)天密碼重試次數(shù);如果2個(gè)小時(shí)內(nèi)密碼重試超過5次,則拋出ExcessiveAttemptsException異常,提示2個(gè)小時(shí)后再次重試。如果當(dāng)天密碼重試次數(shù)超過10次,鎖定用戶,則拋出LockedAccountException異常。根據(jù)加密屬性,判斷使用的加密算法,將token.getCredentials()進(jìn)行加密;將密碼密文與加密后的credential進(jìn)行對比匹配,如果不匹配,則拋出IncorrectCredentialsException異常。如果匹配,則更新重試次數(shù)為0。會(huì)話管理概述所謂會(huì)話,即用戶訪問應(yīng)用時(shí),保持的連接關(guān)系,在多次交互中,應(yīng)用能夠識(shí)別出當(dāng)前訪問的用戶是誰,且可以在多次交互中保持一些數(shù)據(jù)。如訪問一些網(wǎng)站時(shí)登錄成功后,網(wǎng)站可以記住用戶,且在退出之前都可以識(shí)別當(dāng)前用戶是誰。會(huì)話管理器管理著應(yīng)用中所有Subject的會(huì)話的創(chuàng)建、維護(hù)、刪除、失效、驗(yàn)證等工作。是Shiro的核心組件,頂層組件SecurityManager直接繼承了SessionManager,且提供了SessionsSecurityManager實(shí)現(xiàn)直接把會(huì)話管理委托給相應(yīng)的SessionManager,DefaultSecurityManager及DefaultWebSecurityManager默認(rèn)SecurityManager都繼承了SessionsSecurityManager。會(huì)話管理機(jī)制太保的賬戶權(quán)限管理系統(tǒng),作為一個(gè)單點(diǎn)登錄的框架,其會(huì)話管理生命周期會(huì)跨越應(yīng)用系統(tǒng)。通過以下幾點(diǎn)闡述會(huì)話管理:用戶身份驗(yàn)證成功后,查詢是否存在有有效Session存在,如果不存在,通過SessionFactory創(chuàng)建Session;如果存在,則拋出KickOutException異常;當(dāng)接入系統(tǒng)通過WebServices接口返回至賬號(hào)權(quán)限系統(tǒng)時(shí),獲取Session,同時(shí)更新Session;當(dāng)接入系統(tǒng)退出或關(guān)閉時(shí),通過WebServices接口將Session刪除;賬號(hào)權(quán)限系統(tǒng)退出或關(guān)閉時(shí),將Session刪除。會(huì)話監(jiān)聽機(jī)制會(huì)話監(jiān)聽器用于監(jiān)聽會(huì)話創(chuàng)建、過期及停止事件:登錄、退出或關(guān)閉、系統(tǒng)跳轉(zhuǎn)時(shí),監(jiān)聽器進(jìn)行相應(yīng)的處理和判斷;監(jiān)聽器每次先去緩存中獲取Session,如果沒有,再到持久層中獲??;會(huì)話存儲(chǔ)機(jī)制考慮到系統(tǒng)靈活性及穩(wěn)定性,對會(huì)話進(jìn)行CRUD,實(shí)現(xiàn)模式如下:AbstractSessionDAO提供了SessionDAO的基礎(chǔ)實(shí)現(xiàn),如生成會(huì)話ID等;MemorySessionDAO直接在內(nèi)存中進(jìn)行會(huì)話維護(hù),包括創(chuàng)建、更新、刪除、獲取等。緩存管理緩存機(jī)制,是為了系統(tǒng)更高效的工作。賬號(hào)權(quán)限系統(tǒng)提供了CacheManagerAware接口的實(shí)現(xiàn),提供了緩存的一些基礎(chǔ)實(shí)現(xiàn);另外AuthenticatingRealm及A

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論