javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)

javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)

ID:25109104

大?。?5.12 KB

頁數(shù):5頁

時間:2018-11-18

javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)_第1頁
javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)_第2頁
javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)_第3頁
javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)_第4頁
javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)_第5頁
資源描述:

《javaweb應(yīng)用中基于filter的訪問權(quán)限控制實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、JavaWeb應(yīng)用中基于Filter的訪問權(quán)限控制實現(xiàn)摘要摘要:簡要描述了常規(guī)使用Java腳本實現(xiàn)的jsp頁面訪問權(quán)限控制,并詳細闡述了Filter的基本原理和實現(xiàn)方式。在此基礎(chǔ)上,運用Filter構(gòu)建訪問權(quán)限控制方案,并將其與Java腳本方案進行對比分析。結(jié)果表明,使用Filter對用戶請求進行預(yù)處理,實現(xiàn)對jsp頁面訪問權(quán)限進行控制的方案,具備開發(fā)容易、效率高的優(yōu)勢。本文采集自網(wǎng)絡(luò),本站不保證該信息的準確性、真實性、完整性等,僅供學(xué)習和研究使用,文中立場與本網(wǎng)站無關(guān),版權(quán)和著作權(quán)歸原作者所有,如有不愿意被轉(zhuǎn)載的情況,請通知我們刪除己轉(zhuǎn)載的信息。關(guān)鍵詞關(guān)鍵詞:Java;服務(wù)

2、請求;Web應(yīng)用DOIDOI:10.11907/rjdk.161995中圖分類號:TP312文獻標識碼:A文章編號文章編號:16727800(2017)0010041030引言實現(xiàn)對頁面訪問權(quán)限的控制是所有Web應(yīng)用中一個無法回避的問題,對于JavaWeb應(yīng)用而言,慣常的做法是使用Java腳本來實現(xiàn),但這種實現(xiàn)方式比較繁瑣,需要在每個要求控制的頁面上都添加控制腳本。該方式還有一個更致命的問題:當控制代碼發(fā)生改變時,修改維護的工作量極大。Filter又稱過濾器,是從Servlet2.3開始增加的功能,它可以改變用戶Request請求和修改一個Response響應(yīng)[13]。充分利

3、用Filter過濾器的這一特性使得程序員可以在用廣請求頁面資源時,攔截request請求并進行權(quán)限驗證,從而拒絕非法訪問請求。本文將分別運用Java腳本和Filter過濾器來實現(xiàn)訪問權(quán)限控制,并對兩種方案的優(yōu)劣進行對比分析。1基于Java腳本方案的訪問權(quán)限控制實現(xiàn)在Filter出現(xiàn)之前,在JavaWeb應(yīng)用中實現(xiàn)訪問權(quán)限控制最常見的方案就是Servlet+Java腳本。其基本原理是Servlet控制器負責處理請求并進行用戶合法性驗證,Java腳本負責頁面訪問權(quán)限控制。當用戶通過瀏覽器發(fā)出登錄請求Request時,該請求會被交給負責控制登錄請求的控制器Servlet,Servl

4、et控制器則調(diào)用Service方法進行響應(yīng)。該方法的原型如下:protectedvoidservice(IlttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException登錄請求參數(shù)的傳遞有兩種方式:一種是Get方式,另一種是Post方式。根據(jù)請求參數(shù)傳遞方式的不同,Service方法調(diào)用不同的處理請求方法:doGet和doPost。其中doGet方法用于處理Get方式的請求,doPost力*法用于處理Post方式的請求。通過表單Form登榮通常采用的是Post請求

5、方式,因此需要在doPost方法中實現(xiàn)對用戶合法性進行驗證,如果驗證通過則將驗證通過標識或者用戶名等標識符以keyvalue鍵值對的形式保存在本次會話的HttpSession類型的實例化Session對象中。假設(shè)登錄頁面文件為login,jsp,登錄成功的0標頁面為xx.jsp,表申Form的登錄請求參數(shù)被封裝為一個對象loginUser,該對象具有獲取用戶名的方法getName(),判斷用戶合法性的方法原型為:當Web應(yīng)用啟動時會去裝載Filter接U的實現(xiàn)類,Web容器首先實例化Filter實現(xiàn)類,并通過該實例對象調(diào)用其init()方法進行初始化。初始化完成的Filter

6、對象被Web容器保存進應(yīng)用級的集合容器中去等待用戶訪問資源。當用戶訪問的資源與web.xml配置文件中西己置的Filter的url-pattern相匹配時,該請求即被攔截,此時,容器會取出Filter實例對象調(diào)用其doFilter方法。??應(yīng)用服務(wù)被停止或重新裝載時,則會執(zhí)行Filter實例化對象的destroy方法將該對象銷毀。如前所述,編譯完成后的Filter實現(xiàn)類字節(jié)碼文件(.class文件)并不具備對各種請求進行攔截過濾處理的能力,開發(fā)人員還必須在Web應(yīng)用中對Filter進行一系列的配置。配置Filter有兩種方式:一種是在web.xml文件中進行配置,另外一種是在

7、Filter實現(xiàn)類中使用Annotation注解@WebFiltcr方式進行配置。3基于Filter方案的訪問權(quán)限控制實現(xiàn)使用Fi11er實現(xiàn)JavaWeb應(yīng)用中的頁面訪問權(quán)限控制比較容易,與Java腳本方案相同的是在處理登錄請求的Servlet中,將驗證通過標識符或者用戶名等標識符以keyvalue鍵值對的形式保存在HttpSession實例對象中。然后編寫用于用戶訪問權(quán)限控制的過濾器類,假定過濾器類名為CheckFilter,則該類的聲明如下:publicclassChcckFiltcrimplem

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。