資源描述:
《基于spring框架應(yīng)用的權(quán)限控制系統(tǒng)的研究和實(shí)現(xiàn)(1)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、從本學(xué)科出發(fā),應(yīng)著重選對(duì)國民經(jīng)濟(jì)具有一定實(shí)用價(jià)值和理論意義的課題。課題具有先進(jìn)性,便于研究生提出新見解,特別是博士生必須有創(chuàng)新性的成果基于Spring框架應(yīng)用的權(quán)限控制系統(tǒng)的研究和實(shí)現(xiàn)(1)摘要Spring框架是一個(gè)優(yōu)秀的多層J2EE系統(tǒng)框架,Spring本身沒有提供對(duì)系統(tǒng)的安全性支持。Acegi是基于SpringIOC和AOP機(jī)制實(shí)現(xiàn)的一個(gè)安全框架。本文探討了Acegi安全框架中各部件之間的交互,并通過擴(kuò)展Acegi數(shù)據(jù)庫設(shè)計(jì)來實(shí)現(xiàn)基于Spring框架的應(yīng)用的安全控制方法。關(guān)鍵詞Spring;Aceg
2、i;認(rèn)證;授權(quán)1引言近年來,隨著Internet技術(shù)的迅猛發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已深入到了人們的工作、學(xué)習(xí)和日常生活中,于是,怎樣構(gòu)建安全的web應(yīng)用也成為了當(dāng)前最熱門的話題。Spring是一個(gè)基于IoC和AOP的構(gòu)架多層J2EE應(yīng)用系統(tǒng)的框架。Spring框架正在以其優(yōu)良的特性吸引了越來越多的開發(fā)人員的關(guān)注,并在大量的系統(tǒng)開發(fā)中被使用。然而,現(xiàn)有的Spring框架本身并沒有提供對(duì)系統(tǒng)安全性的支持,本文通過介紹一種可用于Spring框架中的安全框架Acegi,并對(duì)在Spring框架中使用Acegi實(shí)現(xiàn)安全用戶
3、認(rèn)證和資源授權(quán)控制進(jìn)行了較深入的研究和擴(kuò)展,同時(shí)給出了可行的解決方案。2Spring框架和Acegi安全框架介紹spring框架Spring框架是由OpenSource開發(fā)的一個(gè)優(yōu)秀的多層J2EE系統(tǒng)框架,它為企業(yè)級(jí)應(yīng)用提供了一個(gè)非常輕量級(jí)的解決方案,大大地降低了應(yīng)用開發(fā)的難度與復(fù)雜度,提高了開發(fā)的速度。課題份量和難易程度要恰當(dāng),博士生能在二年內(nèi)作出結(jié)果,碩士生能在一年內(nèi)作出結(jié)果,特別是對(duì)實(shí)驗(yàn)條件等要有恰當(dāng)?shù)墓烙?jì)。從本學(xué)科出發(fā),應(yīng)著重選對(duì)國民經(jīng)濟(jì)具有一定實(shí)用價(jià)值和理論意義的課題。課題具有先進(jìn)性,便于研究
4、生提出新見解,特別是博士生必須有創(chuàng)新性的成果Spring框架的核心是IoC和AOP。IoC是一種設(shè)計(jì)模式,即IoC模式。IoC模式進(jìn)一步降低了類之間的耦合度,并且改變了傳統(tǒng)的對(duì)象的創(chuàng)建方法,實(shí)現(xiàn)了一種配置式的對(duì)象管理方式,Spring框架中由IoC容器負(fù)責(zé)配置性的對(duì)象的管理。IoC模式極大的提高了系統(tǒng)開發(fā)與維護(hù)的靈活性。AOP是一種編程模式,它是從系統(tǒng)的橫切面關(guān)注問題。傳統(tǒng)的面向?qū)ο缶幊蘋OP主要從系統(tǒng)的垂直切面對(duì)問題進(jìn)行關(guān)注,對(duì)于系統(tǒng)的橫切面關(guān)注很少,或者說很難關(guān)注,這樣當(dāng)考慮到系統(tǒng)的安全性、日志、事
5、務(wù)以及其他企業(yè)級(jí)服務(wù)時(shí),OOP就無能為力了,只能在所有相關(guān)類中加入類似的系統(tǒng)服務(wù)級(jí)的代碼。AOP為解決系統(tǒng)級(jí)服務(wù)問題提供了一種很好的方法。AOP將系統(tǒng)服務(wù)分解成方面看待,并為類提供一種聲明式系統(tǒng)服務(wù)方式。Java類不需要知道日志服務(wù)的存在也不需要考慮相關(guān)的代碼。所以,用AOP編寫的應(yīng)用程序是松耦合的,代碼的復(fù)用性就提高了。Acegi安全框架借助于Spring框架,開發(fā)者能夠快速構(gòu)建結(jié)構(gòu)良好的WEB應(yīng)用,但現(xiàn)有的Spring框架本身沒有提供安全相關(guān)的解決方案。同樣來自于OpenSource社區(qū)的Acegi
6、安全框架為實(shí)現(xiàn)基于Spring框架的WEB應(yīng)用的安全控制提供了一個(gè)很好的解決方案。Acegi本身就是利用Spring提供的IoC和AOP機(jī)制實(shí)現(xiàn)的一個(gè)安全框架,它將安全性服務(wù)作為J2EE平臺(tái)中的系統(tǒng)級(jí)服務(wù),以AOP課題份量和難易程度要恰當(dāng),博士生能在二年內(nèi)作出結(jié)果,碩士生能在一年內(nèi)作出結(jié)果,特別是對(duì)實(shí)驗(yàn)條件等要有恰當(dāng)?shù)墓烙?jì)。從本學(xué)科出發(fā),應(yīng)著重選對(duì)國民經(jīng)濟(jì)具有一定實(shí)用價(jià)值和理論意義的課題。課題具有先進(jìn)性,便于研究生提出新見解,特別是博士生必須有創(chuàng)新性的成果Aspect形式發(fā)布。所以借助于Acegi安全框
7、架,開發(fā)者能夠在Spring使能應(yīng)用中采用聲明式方式實(shí)現(xiàn)安全控制。Acegi安全框架主要由安全管理對(duì)象、攔截器以及安全控制管理組件組成。安全管理對(duì)象是系統(tǒng)可以進(jìn)行安全控制的實(shí)體,Acegi框架主要支持方法和URL請求兩類安全管理對(duì)象;攔截器是Acegi中的重要部件,用來實(shí)現(xiàn)安全控制請求的攔截,針對(duì)不同的安全管理對(duì)象的安全控制請求使用不同的攔截器進(jìn)行攔截;安全控制管理部件是實(shí)際實(shí)現(xiàn)各種安全控制的組件,對(duì)被攔截器攔截的請求進(jìn)行安全管理與控制,主要組件包括實(shí)現(xiàn)用戶身份認(rèn)證的AuthenticationMana
8、ger、實(shí)現(xiàn)用戶授權(quán)的AccessDecisionManager以及實(shí)現(xiàn)角色轉(zhuǎn)換的RunAsManager。安全管理對(duì)象、攔截器以及安全控制管理組件三者關(guān)系如圖1所示。3Acegi安全框架在基于Spring框架的系統(tǒng)中的應(yīng)用分析系統(tǒng)安全性需求首先,需要明確進(jìn)行安全控制的對(duì)象,可為業(yè)務(wù)方法和URL資源。其次,需要進(jìn)一步明確,系統(tǒng)身份認(rèn)證資料和資源授權(quán)信息的數(shù)據(jù)持久化形式。Acegi安全系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)在Acegi框架中支持多種安全信息的持久化方