亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Spring集成Acegi安全框架在J2EE中的應(yīng)用

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

        張國平,馬 麗

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

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

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

        1 Spring框架技術(shù)

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

        2 Acegi安全框架技術(shù)

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

        1)Authentication 對(duì)象,包含了 Principal,Credential和 Principal的授權(quán)信息。同時(shí)還可以包含關(guān)于發(fā)起認(rèn)證請(qǐng)求的客戶的其他信息,如IP地址。

        2)ContextHolder對(duì)象,使用ThreadLocal儲(chǔ)存 Authentication對(duì)象的地方。

        3)AuthenticationManager, 用于認(rèn)證 ContextHolder中的Authentication對(duì)象。

        4)AccessDecissionManager,用于授權(quán)一個(gè)特定的操作。

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

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

        7)AfterInvocationManager, 用于在 一個(gè) SesureObject運(yùn)行結(jié)束后修改一個(gè)對(duì)象,比如從 Principal的 authorities集合中移除一些沒有訪問授權(quán)的元素.

        8)AfterInvocationManager, 用于在 一個(gè) SesureObject運(yùn)行結(jié)束后修改一個(gè)對(duì)象,比如從 Principal的 authorities集合中移除一些沒有訪問授權(quán)的元素。

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

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

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

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

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

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

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

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

        5 結(jié)束語

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

        [1]王爽.基于ASSH框架的運(yùn)動(dòng)會(huì)信息管理系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(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應(yīng)用框架的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,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ái)的可配置權(quán)限系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息通訊技術(shù),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應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(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技術(shù)的科研管理系統(tǒng)設(shè)計(jì)[J].軟件導(dǎo)刊,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技術(shù)的Java Web應(yīng)用開發(fā)[J].計(jì)算機(jī)工程與設(shè)計(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的權(quán)限擴(kuò)展和其在Acegi下的實(shí)現(xiàn)?[J].微計(jì)算機(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)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        瞞天過?!律O(shè)計(jì)萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        真实人与人性恔配视频| 中文字幕一区二区三区在线看一区| 日韩一级精品视频免费在线看| 少妇性l交大片7724com| 无码人妻一区二区三区在线视频| 国产综合自拍| 精品国产亚洲人成在线观看| 亚洲丝袜美腿在线视频| 亚洲av鲁丝一区二区三区黄| 国产A√无码专区| 国产自产21区激情综合一区| 日韩精品视频高清在线| 真实人与人性恔配视频| 免费一级特黄欧美大片久久网| 精品人妻av一区二区三区不卡| 手机在线观看av资源| 夫妇交换性三中文字幕| 亚洲V日韩V精品v无码专区小说| 中文字幕在线亚洲日韩6页| 日本久久久| 中文字幕亚洲精品一二三区| 亚洲女人毛茸茸粉红大阴户传播 | 99久久人妻精品免费二区| 国产一级三级三级在线视| 久久久亚洲一区二区三区| 色又黄又爽18禁免费网站现观看| 国产精品白浆在线观看无码专区| 一区二区三区不卡在线| 亚洲av日韩精品一区二区| 老子影院午夜伦不卡| 日韩精品无码久久一区二区三| 国产精品三级av一区二区 | 亚洲日韩国产精品第一页一区| 国产视频不卡在线| 蜜桃视频第一区免费观看| 国产无遮挡又黄又爽免费网站 | 国产目拍亚洲精品一区二区| 婷婷开心五月亚洲综合 | 男受被做哭激烈娇喘gv视频| av手机天堂| 亚洲国产精品成人av在线不卡|