999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Spring集成Acegi安全框架在J2EE中的應用

2012-09-26 02:26:26張國平
電子設計工程 2012年7期
關鍵詞:用戶系統設計

張國平,馬 麗

(平頂山學院 軟件學院,河南 平頂山 467000)

隨著計算機技術和網絡技術的不斷發展,企業級應用不斷走向成熟,J2EE平臺也越來越受人們關注,但隨著Web應用的不斷復雜化,單純使用J2EE提供的基本組件很難滿足用戶的需求,同時開發難度也比較大[1],為了降低J2EE開發難度,在Web系統中引入一個容器框架Spring來輔助開發,該框架中的IoC技術和AOP技術可以將應用程序代碼中硬編碼邏輯剝離出來放到配置文件中從而提高應用的可維護性和組件之間的耦合度[2-3]。

然而,Spring框架并沒有提供對企業級應用系統安全性的支持,Acegi是基于Spring的一個開源的安全認證框架,本文對Spring框架集成Acegi安全框架進行了深入的探討,同時給出了具體的實現方法,從而提高了應用系統的靈活性,安全性,以滿足不同企業的安全需求。

1 Spring框架技術

Spring是一個輕量級的控制反轉 (IoC)和面向切面(AOP)的開源容器框架,它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情[4-5]。然而,Spring的用途不僅限于服務器端的開發。同時可以使你能夠編寫更干凈、更可管理、并且更易于測試的代碼,并提供了對其它框架的支持[6]。

2 Acegi安全框架技術

Acegi是一個基于Spring Framework的安全框架,它能夠與當前流行的Web容器無縫集成[7]。它結合Spring框架為Web系統提供安全和認證安全服務,包括使用攔截器、Bean Context和面向接口的編程方式。因此,Acegi安全系統能夠輕松地適用于復雜的安全需求。為了實現對Web服務的保護,Acegi框架提供了以下8個關鍵功能組件:

1)Authentication 對象,包含了 Principal,Credential和 Principal的授權信息。同時還可以包含關于發起認證請求的客戶的其他信息,如IP地址。

2)ContextHolder對象,使用ThreadLocal儲存 Authentication對象的地方。

3)AuthenticationManager, 用于認證 ContextHolder中的Authentication對象。

4)AccessDecissionManager,用于授權一個特定的操作。

5)RunAsManager,當執行特定的操作時,用于選擇性地替換Authentication對象。

6)Secure Object攔截器,用于協調 AuthenticationManager,AccessDecissionManager,RunAsManager和特定操作的執行。

7)AfterInvocationManager, 用于在 一個 SesureObject運行結束后修改一個對象,比如從 Principal的 authorities集合中移除一些沒有訪問授權的元素.

8)AfterInvocationManager, 用于在 一個 SesureObject運行結束后修改一個對象,比如從 Principal的 authorities集合中移除一些沒有訪問授權的元素。

3 Acegi框架在企業級應用中安全需求分析

在當前大多數的企業級應用中通常有如下4種基本的安全需求:1)需要對服務層方法進行保護;2)需要對主體進行鑒別;3)需要對web請求進行保護;4)需要對域對象實例進行保護。Acegi提供了一個通用的框架,它可以滿足上述4種企業安全級的需求。下面以Acegi在Web應用程序中應用為例,它所能做的工作包括以下幾個方面:

①在用戶訪問受保護資源之前提示用戶登錄;②鑒別用戶是否是系統的合法用戶;③鑒別合法用戶是否具有訪問受保護資源的權限;④通過認證并對已授權的用戶導向相應的受保護的資源;⑤當認證用戶成功登陸系統后,Acegi會在服務器端表示該用戶已通過認證,并且在客戶端放置一個安全Cookie,這樣,系統的下一個認證過程就可以直接使用該Cookie;⑥用戶注銷或退出系統的時候,Acegi負責銷毀服務器端保存的Session;⑦Acegi負責與不同的數據源交互,以完成對用戶信息的認證功能。

4 基于Spring的Acegi安全框架的集成研究

在Web工程項目中使用Spring和Acegi安全框架,首先要將Spring、Acegi相應的JAR包下載(可以到相應的官方網站下載),然后導入到工程中。這樣當前項目就具備了上述兩種安全框架的環境,接下來配置web.xml,該文件用來初始化工程信息的。并將Sping的Ioc容器裝載到ServletContext中,并且配置FilterToBeanProxv過濾器。接下來配置Spring的配置文件applicationcontext.xml文件,最后部署并運行項目即可。下面以畢業設計選題系統為例,用Spring和Acegi實現系統的安全與登陸。通過分析得出該系統分為:管理員,教師,學生3種角色,在用戶界面中可以實現上述3種用戶的登錄,要求登陸在一個界面下自動識別,而無需進行身份選擇,登陸后,他們將分別到各自的跳轉頁面。具體的實現步驟如下:

首先修改web.xml,增加安全控制過濾鏈:

在上述代碼中可以看出Acegi實現了Filter接口的FilterToBeanProxy提供一種特殊的使用Filter的方式,它委托Spring中的Bean-FilterChainProxy來完成過濾功能,這樣可以簡化web.xml的配置,并且利用Spring IOC的優勢。FilterChainProxy包含了處理認證過程的filter列表,每個filter都有各自的功能。

接下來在 applicationContext.xml中增加 Acegi安全控制攔截器和Spring的自動代理功能實現AOP代理代碼配置如下:

5 結束語

Acegi安全框架為企業級軟件開發提供了一個強有力的、靈活的解決方案,是目前開源社區最好安全框架之一。由于Spring框架在越來越多的項目中應用,并且該框架本身沒有提供對系統安全方面的支持。因此基于Spring應用的Acegi安全框架的研究就顯得非常重要,對安全框架的使用過程中不需要改變原有系統的任何代碼,只需要通過配置文件引入即可,真正實現了將安全代碼從業務代碼中分離。使得業務代碼更干凈,系統結構更合理。

[1]王爽.基于ASSH框架的運動會信息管理系統設計[J].電子設計工程,2011(10):31-34.

WANG Shuang.Design of games information management system based on ASSH framework[J].Electronic Design Engineering,2011(10):31-34.

[2]劉偉,馮偉.基于SSH和Acegi的Web應用框架的設計與實現[J].軟件導刊,2011(7):122-124.

LIU Wei,FENG Wei.Design and implementation of Web application framework based on the SSH and Acegi[J].Software Guide,2011(7):122-124.

[3]張齊,余磊.基于J2EE平臺的可配置權限系統的設計與實現[J].信息通訊技術,2008(6):31-36.

ZHANG Qi,YU Lei.The design and implementation of configurable privilege management system based on J2EE platform[J].Information and Communications Technologies,2008(6):31-36.

[4]肖杰,陳翔,何海江.基于AJAX和Struts的Web應用的設計與實現[J].計算機工程與設計,2009(8):1934-1938.

XIAO Jie,CHEN Xiang,HE Hai-jiang.Design and implementation of web application based on AJAX and struts[J].Computer Engineering and Design,2009(8):1934-1938.

[5]傅鸝,殷旻昊.基于Struts+Spring+Hibernate+Ajax技術的科研管理系統設計[J].軟件導刊,2009(1):134-136.

FU Li,YIN Min-hao.Design of science research management system based on Struts+Spring+Hibernate+Ajax technology[J].Software Guide,2009(1):134-136.

[6]諶湘倩,狄文輝,孫冬.基于SSH框架與AJAX技術的Java Web應用開發[J].計算機工程與設計,2009,10:2590-2592.

CHEN Xiang-qian,DI Wen-hui,SUN Dong.Application of Java web based on SSH and AJAX[J].Computer Engineering and Design,2009(10):2590-2592.

[7]馬 林,黃文培.RBAC的權限擴展和其在Acegi下的實現?[J].微計算機信息,2008(6):34-36.

MA Lin,HUANG Wen-pei.Extended model based on RBAC and its implementation on acegi framework[J].Microcomputer Information,2008(6):34-36.

猜你喜歡
用戶系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 国产女人在线视频| 国产资源免费观看| 极品私人尤物在线精品首页 | 国产精品永久不卡免费视频| 精品三级网站| 中文字幕无线码一区| 日韩东京热无码人妻| 伊人色综合久久天天| 呦系列视频一区二区三区| 中文字幕在线免费看| 国产一国产一有一级毛片视频| 最新国产精品鲁鲁免费视频| 亚洲网综合| 国产91在线免费视频| 亚洲视频一区在线| 99成人在线观看| 欧美日一级片| 2020精品极品国产色在线观看 | 婷婷六月天激情| 国产剧情国内精品原创| 99ri国产在线| 中文字幕有乳无码| 亚洲国产日韩视频观看| 亚洲欧美另类色图| 国产高清自拍视频| 国产三级成人| 性色一区| 亚洲午夜天堂| 一级毛片视频免费| 国产在线精品99一区不卡| 狠狠色香婷婷久久亚洲精品| 欧美日韩专区| 国产在线观看精品| 人妻夜夜爽天天爽| 草逼视频国产| 人人看人人鲁狠狠高清| 91精品啪在线观看国产91九色| 青青草欧美| 无码网站免费观看| 国产又粗又猛又爽视频| 精品国产三级在线观看| 亚洲色偷偷偷鲁综合| 色久综合在线| 色婷婷天天综合在线| 中文字幕乱码中文乱码51精品| 亚洲精品无码成人片在线观看 | 岛国精品一区免费视频在线观看 | 国产成人毛片| 色国产视频| 国产精品黑色丝袜的老师| 国产欧美在线| 激情无码字幕综合| 一级毛片无毒不卡直接观看| 国产熟睡乱子伦视频网站| 色哟哟国产精品一区二区| 亚洲黄色视频在线观看一区| 久久永久精品免费视频| 中文字幕免费视频| 色偷偷av男人的天堂不卡| 国产精品九九视频| 亚洲欧美在线精品一区二区| 久久久久亚洲Av片无码观看| 国产女人18水真多毛片18精品| 国产一级二级三级毛片| 午夜人性色福利无码视频在线观看| 在线另类稀缺国产呦| 狼友视频国产精品首页| 另类专区亚洲| 欧洲熟妇精品视频| 91无码网站| 亚洲aaa视频| 夜夜操天天摸| 国产99视频精品免费观看9e| 97国产成人无码精品久久久| 热久久这里是精品6免费观看| 亚洲人成网站在线播放2019| 福利在线不卡一区| 亚洲一级色| 97se亚洲| 欧美精品亚洲精品日韩专区| 亚洲第一视频网| 第一页亚洲|