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

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

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

張國平,馬 麗

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

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

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

1 Spring框架技術

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

2 Acegi安全框架技術

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

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

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

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

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

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

6)Secure Object攔截器,用于協(xié)調(diào) AuthenticationManager,AccessDecissionManager,RunAsManager和特定操作的執(zhí)行。

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

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

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

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

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

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

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

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

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

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

5 結束語

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

[1]王爽.基于ASSH框架的運動會信息管理系統(tǒng)設計[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應用框架的設計與實現(xiàn)[J].軟件導刊,2011(7):122-124.

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

[3]張齊,余磊.基于J2EE平臺的可配置權限系統(tǒng)的設計與實現(xiàn)[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應用的設計與實現(xiàn)[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技術的科研管理系統(tǒng)設計[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應用開發(fā)[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下的實現(xiàn)?[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.

猜你喜歡
用戶系統(tǒng)設計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統(tǒng)的最后一塊拼圖 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探花国产综合在线精品| 国产97视频在线| 性欧美精品xxxx| 日韩欧美国产精品| 国产成人调教在线视频| 国产在线拍偷自揄观看视频网站| 日本免费福利视频| 中文精品久久久久国产网址| 国产白浆在线观看| 久久精品无码国产一区二区三区| a色毛片免费视频| 免费在线看黄网址| AV在线天堂进入| 九色国产在线| 久久精品国产国语对白| av一区二区三区在线观看| 国产精品女人呻吟在线观看| 色综合狠狠操| 99久久国产精品无码| 久久精品丝袜| 亚洲精选无码久久久| 毛片国产精品完整版| 亚洲一区色| 无码高潮喷水专区久久| 亚洲日本一本dvd高清| 四虎影视8848永久精品| 国产精品999在线| 欧美日韩导航| 亚洲另类国产欧美一区二区| 中文字幕亚洲综久久2021| 欧美精品成人一区二区在线观看| 国产精品极品美女自在线网站| 国产成人调教在线视频| 国产日韩欧美在线视频免费观看| 在线免费观看a视频| 国产草草影院18成年视频| 成人在线综合| 伦精品一区二区三区视频| 在线看免费无码av天堂的| 中国一级特黄大片在线观看| 精品视频一区在线观看| 国产一级精品毛片基地| 免费观看男人免费桶女人视频| 在线观看国产精品第一区免费| 天天躁夜夜躁狠狠躁躁88| 国产办公室秘书无码精品| 精品无码专区亚洲| 国产午夜无码片在线观看网站| 久久夜夜视频| 91精品啪在线观看国产91| 69综合网| 很黄的网站在线观看| 亚洲欧洲日韩久久狠狠爱| 伊人色综合久久天天| 国产成人午夜福利免费无码r| 97在线碰| 久久福利片| 欧美视频免费一区二区三区| 国内精自视频品线一二区| 人妻无码AⅤ中文字| 日本一区二区不卡视频| 国产女同自拍视频| 久久久久青草线综合超碰| www精品久久| 69精品在线观看| 狠狠干综合| 午夜国产小视频| 成人午夜福利视频| 2022精品国偷自产免费观看| 亚洲天堂网在线视频| 国内精品自在自线视频香蕉| 五月婷婷精品| 一本大道香蕉中文日本不卡高清二区 |