版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Kerry DongAcegi Security平安控制框架引見平安控制框架引見目錄目錄Acegi能干什么能干什么Acegi體系構(gòu)造體系構(gòu)造Acegi運用實例運用實例Acegi能干什么能干什么 用慣了用慣了oaoa和和tapdtapd的平安控制,來點新穎的的平安控制,來點新穎的 AcegiAcegi是是JavaJava社區(qū)一個比較知名的平安控制框架社區(qū)一個比較知名的平安控制框架 能為企業(yè)級運用提供平安處理方案能為企業(yè)級運用提供平安處理方案 成為成為SpringSpring的子工程,又叫的子工程,又叫Spring SecuritySpring Security 利用利用SpringSpring的
2、的IocIoc和和AOPAOP功能,提供聲明式平安控制功功能,提供聲明式平安控制功能能 提供的平安效力:提供的平安效力: 1. URL 1. URL資源訪問控制資源訪問控制 2. 2. 業(yè)務(wù)方法訪問控制業(yè)務(wù)方法訪問控制 3. 3. 領(lǐng)域?qū)ο笤L問控制領(lǐng)域?qū)ο笤L問控制Acegi能干什么能干什么 Acegi經(jīng)過多個不同用途的Servlet過濾器對URL資源進(jìn)展維護,在懇求受維護的URL資源前,Acegi的Servlet過濾器判別用戶能否有權(quán)訪問目的資源,授權(quán)者被開放訪問,而未未被授權(quán)者將被阻撓在大門之外。 Acegi經(jīng)過Spring AOP對容器中Bean的受控方法進(jìn)展攔截,當(dāng)用戶的懇求引發(fā)調(diào)用Be
3、an的受控方法時,Acegi的方法攔截器開場任務(wù),阻止未授權(quán)者的調(diào)用。 對領(lǐng)域?qū)ο蟮脑L問控制建立在對Bean方法維護的根底上,在最終開放目的Bean方法的執(zhí)行前,Acegi將檢查用戶的ACLAeccess Control List:訪問控制列表能否包含正要進(jìn)展操作的領(lǐng)域?qū)ο?,只需領(lǐng)域?qū)ο蟊皇跈?quán)時,用戶才可以運用Bean方法對領(lǐng)域?qū)ο筮M(jìn)展處置。此外,Acegi還可以對Bean方法前往的結(jié)果進(jìn)展過濾,將一些不在當(dāng)前用戶訪問權(quán)限范圍內(nèi)的領(lǐng)域?qū)ο筇蕹艏磦鹘y(tǒng)的數(shù)據(jù)可視域范圍的控制。普通來說,運用Acegi控制數(shù)據(jù)可視域并非理想的選擇,相反經(jīng)過傳統(tǒng)的動態(tài)SQL的處理方案往往更加簡單易行。Acegi能干什
4、么能干什么 Acegi支持的認(rèn)證支持的認(rèn)證 登錄方式登錄方式 1. Basic : 效力器前往效力器前往401authentication required形狀,客形狀,客戶端彈出一個窗口,用于輸入用戶名和密碼戶端彈出一個窗口,用于輸入用戶名和密碼 用戶名密碼以及內(nèi)容都是以非加密的方式傳輸用戶名密碼以及內(nèi)容都是以非加密的方式傳輸 2. 摘要:摘要: 客戶端前往用戶名和密碼的摘要信息比如說客戶端前往用戶名和密碼的摘要信息比如說MD5加加密密 黑客還是可以利用黑客還是可以利用digest值來訪問網(wǎng)站。并且,它對值來訪問網(wǎng)站。并且,它對內(nèi)容并不加密內(nèi)容并不加密 3. Form : 高度可定制:可以根
5、據(jù)本人的需求來實現(xiàn)認(rèn)證邏輯。高度可定制:可以根據(jù)本人的需求來實現(xiàn)認(rèn)證邏輯。 效力器端保管客戶端信息比如效力器端保管客戶端信息比如session。 客戶端保管客戶端保管cookie,普通是,普通是username和一個和一個cookie值值(比如比如sessionId)的組合。的組合。 4. 證書證書 : 運用運用SSL協(xié)議和數(shù)字證書身份證明協(xié)議和數(shù)字證書身份證明 5. 單點登錄:單點登錄: 多個運用系統(tǒng)中,用戶只需求登錄一次就可以訪問一多個運用系統(tǒng)中,用戶只需求登錄一次就可以訪問一切互置信任的運用系統(tǒng)切互置信任的運用系統(tǒng) 經(jīng)過經(jīng)過ticket闡明身份闡明身份Acegi能干什么能干什么 Aceg
6、i支持的認(rèn)證支持的認(rèn)證 (數(shù)據(jù)源數(shù)據(jù)源) 1. 數(shù)據(jù)庫數(shù)據(jù)庫 : 最常用的方式,構(gòu)造靈敏最常用的方式,構(gòu)造靈敏 2. LDAP : 從從LDAP效力器中獲取用戶信息效力器中獲取用戶信息 3. JAAS : Java驗證和授權(quán)驗證和授權(quán)API,提供了靈敏和可伸縮的機制,提供了靈敏和可伸縮的機制來保證客戶端或效力器端的來保證客戶端或效力器端的Java程序,基于用戶的訪程序,基于用戶的訪問控制,即根據(jù)誰在運轉(zhuǎn)代碼來進(jìn)展授權(quán)問控制,即根據(jù)誰在運轉(zhuǎn)代碼來進(jìn)展授權(quán) 4. CAS : 根據(jù)根據(jù)Yale中心認(rèn)證效力進(jìn)展認(rèn)證中心認(rèn)證效力進(jìn)展認(rèn)證 5. X509 運用運用509數(shù)字證書中進(jìn)展驗證數(shù)字證書中進(jìn)展驗證
7、 6. Remember Me 從從Cookie中獲取用戶信息中獲取用戶信息 7. 匿名登錄:匿名登錄: 匿名訪問匿名訪問 。 Acegi能干什么能干什么 傳輸協(xié)議傳輸協(xié)議 : Post發(fā)送的表單數(shù)據(jù)以明文傳送,平安性比較差發(fā)送的表單數(shù)據(jù)以明文傳送,平安性比較差 HTTPS : SSL + 需求需求WEB效力器和閱讀器兩方支持效力器和閱讀器兩方支持 SSL在在TCP/IP層和運用層之間,對傳輸數(shù)據(jù)進(jìn)展加層和運用層之間,對傳輸數(shù)據(jù)進(jìn)展加密密 HTTPS帶來了的呼應(yīng)性能損耗,并不是一切資源都帶來了的呼應(yīng)性能損耗,并不是一切資源都需求加密需求加密 Acegi支持經(jīng)過簡單配置實現(xiàn)基于支持經(jīng)過簡單配置實
8、現(xiàn)基于HTTP和和HTTPS的的訪問控制訪問控制目錄目錄Acegi能干什么能干什么Acegi體系構(gòu)造體系構(gòu)造Acegi運用實例運用實例Acegi體系構(gòu)造體系構(gòu)造Acegi體系構(gòu)造體系構(gòu)造 AuthenticationManager 認(rèn)證管理器,完成身份的認(rèn)證 AccessDecisionManager 訪問控制管理器,完成資源的訪問授權(quán) SecurityContext 存儲認(rèn)證以后身份和權(quán)限信息 在一次懇求的多個調(diào)用之間共享 經(jīng)過session在多次調(diào)用間共享 保管在SecurityContextHolder中Acegi體系構(gòu)造體系構(gòu)造Acegi體系構(gòu)造體系構(gòu)造 AuthenticationM
9、anager AuthenticationManager將身份認(rèn)證的任務(wù)委托給多個AuthenticationProvider。 不同的AuthenticationProvider執(zhí)行諸如用戶信息查詢、用戶身份判別、用戶授權(quán)信息獲取等任務(wù)如數(shù)據(jù)庫、CA中心、LDAP 只需有一個AuthenticationProvider可以識別用戶的身份,AuthenticationManager就經(jīng)過用戶身份認(rèn)證,并將用戶的授權(quán)信息放入到SecurityContext中Acegi體系構(gòu)造體系構(gòu)造 AccessDecisionManager AccessDecisionManager采用民主決策機制采用民主決
10、策機制判別用戶能否有權(quán)訪問目的程序資源,它包判別用戶能否有權(quán)訪問目的程序資源,它包含了多個含了多個AccessDecisionVoter。 在訪問決策時每個在訪問決策時每個AccessDecisionVoter都擁都擁有投票權(quán),有投票權(quán),AccessDecisionManager統(tǒng)計投統(tǒng)計投票結(jié)果,并按照某種決策方式根據(jù)這些投票票結(jié)果,并按照某種決策方式根據(jù)這些投票結(jié)果斷定最終能否向用戶開放受限資源的訪結(jié)果斷定最終能否向用戶開放受限資源的訪問。問。Acegi體系構(gòu)造體系構(gòu)造UserDetail loadUserByUserName(String username)Authentication
11、Object getPrincipal() 獲取用戶對象被認(rèn)證后將UserDetail中的權(quán)限信息加載進(jìn)來是Acegi進(jìn)展平安訪問控制的用戶平安信息對象存儲在SecurityContext中目錄目錄Acegi能干什么能干什么Acegi體系構(gòu)造體系構(gòu)造Acegi運用實例運用實例Acegi運用實例運用實例在懇求的最開場進(jìn)展攔截過濾Web.xml channelFilterProxy org.acegisecurity.util.FilterToBeanProxy targetClass org.acegisecurity.securechannel.ChannelProcessingFilter
12、channelFilterProxy /*Acegi運用實例運用實例2. 配置詳細(xì)的攔截過程 spring配置contextConfigLocationclasspath:applicationContext.xmlorg.springframework.web.context.ContextLoaderListener Acegi運用實例運用實例3. 配置詳細(xì)平安攔截邏輯CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISONPATTERN_TYPE_APACHE_ANT/*=httpSessionContextIntegrationFilter,authenti
13、cationProcessingFilter,logoutFilter有詳細(xì)的多個邏輯過濾器組成每一個都要定義對應(yīng)的Bean處置 Acegi運用實例運用實例4. 身份認(rèn)證管理配置 用戶名:密 碼: Acegi運用實例運用實例5. 身份認(rèn)證管理配置 認(rèn)證管理器 (基于內(nèi)存的認(rèn)證)John=john,PRIV_COMMON,PRIV_1Tom=tom,PRIV_COMMON,PRIV_1,PRIV_2Peter=peter,disabled,PRIV_COMMON,PRIV_1Acegi運用實例運用實例6. 身份認(rèn)證管理配置 密碼加密 Acegi運用實例運用實例7. 多個懇求間共享Security
14、Context 經(jīng)過HttpSessionContextIntegrationFilter,將session中獲取SecurityContext放入SecurityContextHolder中,懇求終了時再放入session中。CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISONPATTERN_TYPE_APACHE_ANT/*=httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilterAcegi運用實例運用實例8. 退出處置CONVERT_URL_TO_UPPE
15、RCASE_BEFORE_COMPARISONPATTERN_TYPE_APACHE_ANT/*=httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilter Acegi運用實例運用實例9. Remember Mea. 登陸時將用戶名密碼信息記錄到cookie 5天內(nèi)不再登陸b.根據(jù)rememberme登錄 bean id=“authticationMananger . Acegi運用實例運用實例10. URL資源訪問控制 CONVERT_URL_TO_UPPERCASE_BEFORE_COMPA
16、RISONPATTERN_TYPE_APACHE_ANT/*=authenticationProcessingFilter,logoutFilter,filterSecurityInterceptor CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISON PATTERN_TYPE_APACHE_ANT /secure/*=ROLE_USER /secure/manage/*=ROLE_ADMIN /*=ROLE_ANONYMOUS Acegi運用實例運用實例11. 異常訪問控制 Acegi運用實例運用實例12. 業(yè)務(wù)方法控制 *.*.*Dao=ROLE_ADMIN * =ROLE_USER 運用注釋Secured(“ROLE_ADMIN,ROLE_USER)Acegi運用實例運用實例 其他功能: HTTPS Session并發(fā) 頁面標(biāo)簽庫 緩存 Captcha圖片驗證 X509 。Acegi運用實例運用實例Acegi3新版本的改動新版本的改動支持支持Spring3.0. ,如今只能在,如今只能在JDK-5.0以上環(huán)以上環(huán)境運用,不再支持境運用,不再支持JDK-1.4以及之前的版本。以及之前的版本。大量重構(gòu)代碼構(gòu)造,將中心庫大量重構(gòu)代碼構(gòu)造,將中心庫core,命名空間,命名空間config,web驗證部分都嚴(yán)厲的分成獨立的驗證部分都嚴(yán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧科技大學(xué)《中外戲劇鑒賞》2023-2024學(xué)年第一學(xué)期期末試卷
- 昆明理工大學(xué)《五官科護理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇農(nóng)林職業(yè)技術(shù)學(xué)院《金融建模與計算》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林工程職業(yè)學(xué)院《植物食品加工工藝學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南女子學(xué)院《材料分析測試原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】第十章 浮力 單元練習(xí)+-2024-2025學(xué)年人教版物理八年級下冊
- 黑龍江能源職業(yè)學(xué)院《政治學(xué)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 高考物理總復(fù)習(xí)《電磁感應(yīng)規(guī)律及應(yīng)用》專項測試卷含答案
- 重慶五一職業(yè)技術(shù)學(xué)院《導(dǎo)航與制導(dǎo)系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶工貿(mào)職業(yè)技術(shù)學(xué)院《測繪學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024光儲充一體化系統(tǒng)解決方案
- 建筑幕墻物理性能分級
- 河南省2024年道法中考熱點備考重難專題:發(fā)展航天事業(yè)建設(shè)航天強國(課件)
- 臨床診療規(guī)范與操作指南制度
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 新員工入職培訓(xùn)測試題附有答案
- 勞動合同續(xù)簽意見單
- 大學(xué)生國家安全教育意義
- 2024年保育員(初級)培訓(xùn)計劃和教學(xué)大綱-(目錄版)
- 河北省石家莊市2023-2024學(xué)年高二上學(xué)期期末考試 語文 Word版含答案
- 企業(yè)正確認(rèn)識和運用矩陣式管理
評論
0/150
提交評論