偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Acegi安全系統(tǒng)與JSF結(jié)合

開發(fā) 后端
本文介紹Acegi安全系統(tǒng)與JSF結(jié)合,Acegi是一個用于Spring的安全框架,與JSF結(jié)合,提供了安全和認證安全服務(wù)框架。

在Java Web開發(fā)中,Javabean安全涉及到兩個不同的概念,認證和授權(quán)。前者是關(guān)于確認用戶是否確實是他們所宣稱的身份。授權(quán)則是關(guān)于確認用戶是否有允許執(zhí)行一個特定的操作。JSF (JavaServer Faces) 是J2EE 5開發(fā)平臺的組成部分,作為表示層的技術(shù),越來越受到Java開發(fā)人員的親睞。在開發(fā)過程中,JSP通過DI 技術(shù)很方便的和使用類似技術(shù)的 Spring 進行整合。JSF在與Acegi安全系統(tǒng)結(jié)合之后,讓JavaBean的安全性得到很大提高。

Acegi安全系統(tǒng)一個很重要的特點就是它并沒有角色和用戶組的概念。Acegi安全系統(tǒng)目前支持兩類安全管理對象。***類是為了使Spring管理的Bean可以作為MethodInvocation來使用,Bean可以通過ProxyFactoryBean和BeanNameAutoProxyCreator來管理,就像在Spring的事務(wù)管理一樣使用。第二類是FilterInvocation。它用過濾器(Filter)來創(chuàng)建,并簡單地包裝了HTTP的 ServletRequest,ServletResponse和FilterChain。FilterInvocation可以用來保護HTTP資源。通常,開發(fā)人員并不需要了解它的工作機制,因為他們只需要將Filter加入web.xml,Acegi安全系統(tǒng)就可以工作了。

本文用一個簡單的Web應(yīng)用實例的Apache myfaces jsf的執(zhí)行情況向大家展示,如何使用Spring的application context整合acegi的認證和授權(quán)的功能,達到JSF的應(yīng)用。讀者可以理解到Acegi如何落實URL級別的角色授權(quán),以及如何實施Acegi的業(yè)務(wù)層的安全說明。

示例應(yīng)用程序是一個用戶登錄購買的頁面。用戶登錄窗口輸入正確的用戶名和密碼,重定向到一個網(wǎng)頁,在新的網(wǎng)頁中用戶可能發(fā)生購買行為等。我們將使用 Acegi安全框架的配置安全的細節(jié),確保用戶的ID已經(jīng)驗證,并且他的存在對購買頁的授權(quán)。用戶可以訪問購買頁,如果有作用 role_urlaccess 。就確保了用戶作出的購買行為是一個安全的商業(yè)行為。JSF與Acegi安全授權(quán)驗證中牽涉到Acegi、JSF、Spring 三個框架。
***步:用戶訪問JSF網(wǎng)頁
第二步:Acegi檢查訪問用戶是否被授權(quán)訪問該頁面。
第三步:如果授權(quán)驗證是有效的,就將控制權(quán)交給一個為JSF服務(wù)的界面servlet。
第四步:在準(zhǔn)備的過程中,JSF將會找到Catalog bean。
第五步:JSF檢查界面結(jié)構(gòu)文件(Faces configuration file)來尋找已經(jīng)定義好的Catalog,并且實例化。Catalog bean的publicData以及privateData 屬性參數(shù)會被寫入到?jīng)]有被具體化的publicCatalog、privateCatalog beans。
第六步:JSF利用Spring的 DelegatingVariableResolver 可變解析器解釋 publicCatalog和 privateCatalog bean。
第七步:JSF利用Acegi 生成獲得publicCatalog 和 privateCatalog beans方法,讀取公共數(shù)據(jù)和私有數(shù)據(jù)。
第八步:Acegi再次執(zhí)行它的認證進程來訪問bean。
第九步:當(dāng)Acegi獲得用戶成功地訪問了bean信息后,系統(tǒng)將產(chǎn)生一個獲取方法來讀取公共和私有的數(shù)據(jù),并且將數(shù)據(jù)傳送給JSF。
第十步:JSF調(diào)用目錄bean的設(shè)置方法,將公共和私有數(shù)據(jù)寫入Catalog bean
第十一步:JSF執(zhí)行其周期完成,并順利傳送頁面JSF。

這樣,一個用戶從輸入用戶到進入系統(tǒng),進行購買操作的流程就完成。在這個過程中,Acegi與JSF一起完成了用戶的認證授權(quán)工作。相對于JSP用戶訪問授權(quán)的過程,JSF的生命周期要比JSP復(fù)雜得多。JSP的生命周期非常簡單,頁面被執(zhí)行時,HTML標(biāo)記立即被生成了,生命周期隨即結(jié)束。而一個完整的 JSF-Acegi請求-處理生命周期被精心規(guī)劃為11個階段,但JSF框架會管理這一切,所以,程序員在獲得更多控制能力的同時,工作量并沒有增加,同時也讓系統(tǒng)安全性能得到較大的提高??偟膩碚f,案例相對簡單,但是JSF-Acegi安全處理是非常到位的,借助本文,筆者希望大家對JSF以及 Acegi給與更多關(guān)注。

【編輯推薦】

  1. 簡述JSF入門介紹
  2. JSF和Struts的區(qū)別概述
  3. 編寫JSF自定義復(fù)合組件的原則和技巧
  4. 選擇JSF不選Struts的十大理由
  5. Tapestry和JSF對比
責(zé)任編輯:佚名 來源: 中國IT實驗室
相關(guān)推薦

2009-06-23 17:54:41

OSGi與JSF

2009-06-29 14:19:50

2011-06-21 16:30:57

2013-05-08 23:24:43

2021-12-06 12:37:51

智能自動駕駛汽車

2009-06-19 09:52:46

Acegi安全框架Spring框架

2019-08-28 11:39:29

安全系統(tǒng)互聯(lián)網(wǎng)技術(shù)

2021-07-07 14:26:41

智能技術(shù)道路安全

2010-04-17 13:17:29

網(wǎng)絡(luò)安全管理策略web安全

2012-02-16 09:17:53

2022-07-28 10:28:37

物聯(lián)網(wǎng)智能建筑

2022-08-02 10:26:37

人工智能機場AI

2016-01-08 13:48:56

2009-06-19 16:19:21

2021-07-14 09:55:27

網(wǎng)絡(luò)安全惡意軟件安全自愈

2010-11-03 09:40:14

FortinetIBM收購

2014-04-30 11:24:31

2020-06-01 07:00:00

智能安全系統(tǒng)黑客網(wǎng)絡(luò)安全

2023-11-20 13:54:00

2009-06-17 15:18:38

JSF與Spring
點贊
收藏

51CTO技術(shù)棧公眾號