




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Kerry DongAcegi Security平安控制框架引見(jiàn)平安控制框架引見(jiàn)目錄目錄Acegi能干什么能干什么Acegi體系構(gòu)造體系構(gòu)造Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例Acegi能干什么能干什么 用慣了用慣了oaoa和和tapdtapd的平安控制,來(lái)點(diǎn)新穎的的平安控制,來(lái)點(diǎn)新穎的 AcegiAcegi是是JavaJava社區(qū)一個(gè)比較知名的平安控制框架社區(qū)一個(gè)比較知名的平安控制框架 能為企業(yè)級(jí)運(yùn)用提供平安處理方案能為企業(yè)級(jí)運(yùn)用提供平安處理方案 成為成為SpringSpring的子工程,又叫的子工程,又叫Spring SecuritySpring Security 利用利用SpringSpring的
2、的IocIoc和和AOPAOP功能,提供聲明式平安控制功功能,提供聲明式平安控制功能能 提供的平安效力:提供的平安效力: 1. URL 1. URL資源訪問(wèn)控制資源訪問(wèn)控制 2. 2. 業(yè)務(wù)方法訪問(wèn)控制業(yè)務(wù)方法訪問(wèn)控制 3. 3. 領(lǐng)域?qū)ο笤L問(wèn)控制領(lǐng)域?qū)ο笤L問(wèn)控制Acegi能干什么能干什么 Acegi經(jīng)過(guò)多個(gè)不同用途的Servlet過(guò)濾器對(duì)URL資源進(jìn)展維護(hù),在懇求受維護(hù)的URL資源前,Acegi的Servlet過(guò)濾器判別用戶能否有權(quán)訪問(wèn)目的資源,授權(quán)者被開放訪問(wèn),而未未被授權(quán)者將被阻撓在大門之外。 Acegi經(jīng)過(guò)Spring AOP對(duì)容器中Bean的受控方法進(jìn)展攔截,當(dāng)用戶的懇求引發(fā)調(diào)用Be
3、an的受控方法時(shí),Acegi的方法攔截器開場(chǎng)任務(wù),阻止未授權(quán)者的調(diào)用。 對(duì)領(lǐng)域?qū)ο蟮脑L問(wèn)控制建立在對(duì)Bean方法維護(hù)的根底上,在最終開放目的Bean方法的執(zhí)行前,Acegi將檢查用戶的ACLAeccess Control List:訪問(wèn)控制列表能否包含正要進(jìn)展操作的領(lǐng)域?qū)ο?,只需領(lǐng)域?qū)ο蟊皇跈?quán)時(shí),用戶才可以運(yùn)用Bean方法對(duì)領(lǐng)域?qū)ο筮M(jìn)展處置。此外,Acegi還可以對(duì)Bean方法前往的結(jié)果進(jìn)展過(guò)濾,將一些不在當(dāng)前用戶訪問(wèn)權(quán)限范圍內(nèi)的領(lǐng)域?qū)ο筇蕹艏磦鹘y(tǒng)的數(shù)據(jù)可視域范圍的控制。普通來(lái)說(shuō),運(yùn)用Acegi控制數(shù)據(jù)可視域并非理想的選擇,相反經(jīng)過(guò)傳統(tǒng)的動(dòng)態(tài)SQL的處理方案往往更加簡(jiǎn)單易行。Acegi能干什
4、么能干什么 Acegi支持的認(rèn)證支持的認(rèn)證 登錄方式登錄方式 1. Basic : 效力器前往效力器前往401authentication required形狀,客形狀,客戶端彈出一個(gè)窗口,用于輸入用戶名和密碼戶端彈出一個(gè)窗口,用于輸入用戶名和密碼 用戶名密碼以及內(nèi)容都是以非加密的方式傳輸用戶名密碼以及內(nèi)容都是以非加密的方式傳輸 2. 摘要:摘要: 客戶端前往用戶名和密碼的摘要信息比如說(shuō)客戶端前往用戶名和密碼的摘要信息比如說(shuō)MD5加加密密 黑客還是可以利用黑客還是可以利用digest值來(lái)訪問(wèn)網(wǎng)站。并且,它對(duì)值來(lái)訪問(wèn)網(wǎng)站。并且,它對(duì)內(nèi)容并不加密內(nèi)容并不加密 3. Form : 高度可定制:可以根
5、據(jù)本人的需求來(lái)實(shí)現(xiàn)認(rèn)證邏輯。高度可定制:可以根據(jù)本人的需求來(lái)實(shí)現(xiàn)認(rèn)證邏輯。 效力器端保管客戶端信息比如效力器端保管客戶端信息比如session。 客戶端保管客戶端保管cookie,普通是,普通是username和一個(gè)和一個(gè)cookie值值(比如比如sessionId)的組合。的組合。 4. 證書證書 : 運(yùn)用運(yùn)用SSL協(xié)議和數(shù)字證書身份證明協(xié)議和數(shù)字證書身份證明 5. 單點(diǎn)登錄:?jiǎn)吸c(diǎn)登錄: 多個(gè)運(yùn)用系統(tǒng)中,用戶只需求登錄一次就可以訪問(wèn)一多個(gè)運(yùn)用系統(tǒng)中,用戶只需求登錄一次就可以訪問(wèn)一切互置信任的運(yùn)用系統(tǒng)切互置信任的運(yùn)用系統(tǒng) 經(jīng)過(guò)經(jīng)過(guò)ticket闡明身份闡明身份Acegi能干什么能干什么 Aceg
6、i支持的認(rèn)證支持的認(rèn)證 (數(shù)據(jù)源數(shù)據(jù)源) 1. 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) : 最常用的方式,構(gòu)造靈敏最常用的方式,構(gòu)造靈敏 2. LDAP : 從從LDAP效力器中獲取用戶信息效力器中獲取用戶信息 3. JAAS : Java驗(yàn)證和授權(quán)驗(yàn)證和授權(quán)API,提供了靈敏和可伸縮的機(jī)制,提供了靈敏和可伸縮的機(jī)制來(lái)保證客戶端或效力器端的來(lái)保證客戶端或效力器端的Java程序,基于用戶的訪程序,基于用戶的訪問(wèn)控制,即根據(jù)誰(shuí)在運(yùn)轉(zhuǎn)代碼來(lái)進(jìn)展授權(quán)問(wèn)控制,即根據(jù)誰(shuí)在運(yùn)轉(zhuǎn)代碼來(lái)進(jìn)展授權(quán) 4. CAS : 根據(jù)根據(jù)Yale中心認(rèn)證效力進(jìn)展認(rèn)證中心認(rèn)證效力進(jìn)展認(rèn)證 5. X509 運(yùn)用運(yùn)用509數(shù)字證書中進(jìn)展驗(yàn)證數(shù)字證書中進(jìn)展驗(yàn)證
7、 6. Remember Me 從從Cookie中獲取用戶信息中獲取用戶信息 7. 匿名登錄:匿名登錄: 匿名訪問(wèn)匿名訪問(wèn) 。 Acegi能干什么能干什么 傳輸協(xié)議傳輸協(xié)議 : Post發(fā)送的表單數(shù)據(jù)以明文傳送,平安性比較差發(fā)送的表單數(shù)據(jù)以明文傳送,平安性比較差 HTTPS : SSL + 需求需求WEB效力器和閱讀器兩方支持效力器和閱讀器兩方支持 SSL在在TCP/IP層和運(yùn)用層之間,對(duì)傳輸數(shù)據(jù)進(jìn)展加層和運(yùn)用層之間,對(duì)傳輸數(shù)據(jù)進(jìn)展加密密 HTTPS帶來(lái)了的呼應(yīng)性能損耗,并不是一切資源都帶來(lái)了的呼應(yīng)性能損耗,并不是一切資源都需求加密需求加密 Acegi支持經(jīng)過(guò)簡(jiǎn)單配置實(shí)現(xiàn)基于支持經(jīng)過(guò)簡(jiǎn)單配置實(shí)
8、現(xiàn)基于HTTP和和HTTPS的的訪問(wèn)控制訪問(wèn)控制目錄目錄Acegi能干什么能干什么Acegi體系構(gòu)造體系構(gòu)造Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例Acegi體系構(gòu)造體系構(gòu)造Acegi體系構(gòu)造體系構(gòu)造 AuthenticationManager 認(rèn)證管理器,完成身份的認(rèn)證 AccessDecisionManager 訪問(wèn)控制管理器,完成資源的訪問(wèn)授權(quán) SecurityContext 存儲(chǔ)認(rèn)證以后身份和權(quán)限信息 在一次懇求的多個(gè)調(diào)用之間共享 經(jīng)過(guò)session在多次調(diào)用間共享 保管在SecurityContextHolder中Acegi體系構(gòu)造體系構(gòu)造Acegi體系構(gòu)造體系構(gòu)造 AuthenticationM
9、anager AuthenticationManager將身份認(rèn)證的任務(wù)委托給多個(gè)AuthenticationProvider。 不同的AuthenticationProvider執(zhí)行諸如用戶信息查詢、用戶身份判別、用戶授權(quán)信息獲取等任務(wù)如數(shù)據(jù)庫(kù)、CA中心、LDAP 只需有一個(gè)AuthenticationProvider可以識(shí)別用戶的身份,AuthenticationManager就經(jīng)過(guò)用戶身份認(rèn)證,并將用戶的授權(quán)信息放入到SecurityContext中Acegi體系構(gòu)造體系構(gòu)造 AccessDecisionManager AccessDecisionManager采用民主決策機(jī)制采用民主決
10、策機(jī)制判別用戶能否有權(quán)訪問(wèn)目的程序資源,它包判別用戶能否有權(quán)訪問(wèn)目的程序資源,它包含了多個(gè)含了多個(gè)AccessDecisionVoter。 在訪問(wèn)決策時(shí)每個(gè)在訪問(wèn)決策時(shí)每個(gè)AccessDecisionVoter都擁都擁有投票權(quán),有投票權(quán),AccessDecisionManager統(tǒng)計(jì)投統(tǒng)計(jì)投票結(jié)果,并按照某種決策方式根據(jù)這些投票票結(jié)果,并按照某種決策方式根據(jù)這些投票結(jié)果斷定最終能否向用戶開放受限資源的訪結(jié)果斷定最終能否向用戶開放受限資源的訪問(wèn)。問(wèn)。Acegi體系構(gòu)造體系構(gòu)造UserDetail loadUserByUserName(String username)Authentication
11、Object getPrincipal() 獲取用戶對(duì)象被認(rèn)證后將UserDetail中的權(quán)限信息加載進(jìn)來(lái)是Acegi進(jìn)展平安訪問(wèn)控制的用戶平安信息對(duì)象存儲(chǔ)在SecurityContext中目錄目錄Acegi能干什么能干什么Acegi體系構(gòu)造體系構(gòu)造Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例在懇求的最開場(chǎng)進(jìn)展攔截過(guò)濾Web.xml channelFilterProxy org.acegisecurity.util.FilterToBeanProxy targetClass org.acegisecurity.securechannel.ChannelProcessingFilter
12、channelFilterProxy /*Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例2. 配置詳細(xì)的攔截過(guò)程 spring配置contextConfigLocationclasspath:applicationContext.xmlorg.springframework.web.context.ContextLoaderListener Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例3. 配置詳細(xì)平安攔截邏輯CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISONPATTERN_TYPE_APACHE_ANT/*=httpSessionContextIntegrationFilter,authenti
13、cationProcessingFilter,logoutFilter有詳細(xì)的多個(gè)邏輯過(guò)濾器組成每一個(gè)都要定義對(duì)應(yīng)的Bean處置 Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例4. 身份認(rèn)證管理配置 用戶名:密 碼: Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例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運(yùn)用實(shí)例運(yùn)用實(shí)例6. 身份認(rèn)證管理配置 密碼加密 Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例7. 多個(gè)懇求間共享Security
14、Context 經(jīng)過(guò)HttpSessionContextIntegrationFilter,將session中獲取SecurityContext放入SecurityContextHolder中,懇求終了時(shí)再放入session中。CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISONPATTERN_TYPE_APACHE_ANT/*=httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilterAcegi運(yùn)用實(shí)例運(yùn)用實(shí)例8. 退出處置CONVERT_URL_TO_UPPE
15、RCASE_BEFORE_COMPARISONPATTERN_TYPE_APACHE_ANT/*=httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilter Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例9. Remember Mea. 登陸時(shí)將用戶名密碼信息記錄到cookie 5天內(nèi)不再登陸b.根據(jù)rememberme登錄 bean id=“authticationMananger . Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例10. URL資源訪問(wèn)控制 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運(yùn)用實(shí)例運(yùn)用實(shí)例11. 異常訪問(wèn)控制 Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例12. 業(yè)務(wù)方法控制 *.*.*Dao=ROLE_ADMIN * =ROLE_USER 運(yùn)用注釋Secured(“ROLE_ADMIN,ROLE_USER)Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例 其他功能: HTTPS Session并發(fā) 頁(yè)面標(biāo)簽庫(kù) 緩存 Captcha圖片驗(yàn)證 X509 。Acegi運(yùn)用實(shí)例運(yùn)用實(shí)例Acegi3新版本的改動(dòng)新版本的改動(dòng)支持支持Spring3.0. ,如今只能在,如今只能在JDK-5.0以上環(huán)以上環(huán)境運(yùn)用,不再支持境運(yùn)用,不再支持JDK-1.4以及之前的版本。以及之前的版本。大量重構(gòu)代碼構(gòu)造,將中心庫(kù)大量重構(gòu)代碼構(gòu)造,將中心庫(kù)core,命名空間,命名空間config,web驗(yàn)證部分都嚴(yán)厲的分成獨(dú)立的驗(yàn)證部分都嚴(yán)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 沙箱跨平臺(tái)兼容性研究-全面剖析
- 環(huán)境風(fēng)險(xiǎn)評(píng)估體系構(gòu)建-全面剖析
- 移動(dòng)支付技術(shù)在普惠金融中的應(yīng)用-全面剖析
- 醫(yī)療健康數(shù)據(jù)共享-全面剖析
- 微尺度流動(dòng)傳熱特性-全面剖析
- 客服滿意度評(píng)價(jià)體系-全面剖析
- 智能制造在鞋業(yè)的應(yīng)用-全面剖析
- 2025年家用通風(fēng)電器具合作協(xié)議書
- 木方模板回收利用協(xié)議范文
- 2025-2030貴金屬材料行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告
- 重慶西南證券公司招聘筆試真題2023
- 大英賽練習(xí)題
- 第一講 馬克思主義中國(guó)化時(shí)代化新的飛躍附有答案
- 2024年湖南省中考數(shù)學(xué)試題卷(含答案解析)
- JT-T-1180.2-2018交通運(yùn)輸企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化建設(shè)基本規(guī)范第2部分:道路旅客運(yùn)輸企業(yè)
- 土地整治監(jiān)理合同
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 2023-2024學(xué)年湖北省荊門市京山市八年級(jí)(下)期中數(shù)學(xué)試卷(含解析)
- 國(guó)內(nèi)外大型體育場(chǎng)館運(yùn)營(yíng)管理模式研究
- 敘事護(hù)理參考課件
- JBT 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論