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

用戶權限控制在SSMBSS中的設計與實現

2008-12-31 00:00:00
電腦知識與技術 2008年25期

摘要:在Web開發中,權限往往是一個極其復雜的問題,針對不同的應用,需要根據項目的實際情況和具體架構,在維護性、靈活性、完整性等多個方面比較、權衡。本文簡要介紹了在Struts和Hibernate框架下基于角色的權限管理(RBAC)思想,提出了自定義標簽和Struts標簽相結合的方式,提高了系統的靈活性和安全性,達到MVC很好的分離。

關鍵詞:權限控制;標簽;角色

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)25-1552-02

Design and Implementation of User Access Control in SSMBSS

LI Ning

(Software Engineering, Tongji University, Shanghai 201804, China)

Abstract: In Web developing, access control is a more comprehensive problem, you should measure in agility, integrality ,maintenance and so on, according to different applications using framework and project conditions in practice. The text introduce Role Based Access Control (RBAC) in Struts and Hibernate framework briefly, mentioned the way of associate with user-defined tags and Struts tags, so as to increase the system agility security and separate the MVC mode.

Key words: access control; tags; role

1 引言

隨著網絡技術的發展與普及,高性能的Browser/Web Server/DB Server體系結構已經逐漸成為開發信息系統的主流選擇。而在B/S系統中, 有效的權限管理機制是合法地使用系統信息、充分發揮系統作用的一個前提。B/S系統的權限控制一般體現在根據業務需求限定用戶訪問的頁面和可執行的操作。

用戶權限控制是實現系統安全的一個重要方面。權限往往是一個極其復雜的問題,但也可以簡單的理解為邏輯表達式“who對what進行how的操作”是否為真。針對不同的應用,需要根據項目的實際情況和具體架構,在維護性、靈活性、完整性等多個方案之間比較權衡,選擇符合的方案。

2 權限控制方法

目前訪問權限的控制方法,一般有下列三種。

2.1 自主型訪問控制方法

目前在我國大多數的信息系統中的訪問控制模塊基本是借助于自主型訪問控制方法中的訪問控制列表(ACLs)。

2.2 強制型訪問控制方法

用于多層次安全級別的軍事應用。

2.3 基于驕色的訪問控制方法

近來基于角色的權限控制(Role Based Access Control,RBAC)模型得到了越來越廣泛的認同。所謂RBAC(角色訪問控制)就是基于“用戶—角色—許可”的設計思想,可簡單的用圖1來表示:一個用戶可以擁有多個角色、一個角色可以擁有多個許可。由于訪問許可與角色關聯,角色再與用戶關聯,實現了用戶與訪問許可的邏輯分離,從而很方便擴展系統的權限管理模塊。

圖1 1RBAC基本思想

3 SSMBSS的權限控制方法

上海軟件度量基準體系(SSMBSS)是對上海市、全國甚至世界范圍內的軟件項目或產品開發過程中的各種數據進行收集、整合和分析以得到軟件行業的各種度量指標,從而更有效的為軟件企業的項目管理及政府部門的決策提供支持。

系統用戶權限的控制涉及到整個系統的控制安全。此系統是基于Struts和Hibernate框架設計與實現的。該系統分為多個模塊,并不是所有用戶都能訪問這些模塊。簡單來說該系統分為 游客、普通用戶、企業用戶、高級用戶、數據錄入員、系統管理員等。我們可以采用基于角色的訪問控制方法來控制系統模塊功能,綜合模塊讀寫訪問權限和用戶類型的控制方式。為了安全起見,一定的用戶角色權限只在此用戶的類型范圍內,使之不能隨意越權,從一定角度來保障系統的安全。本系統采用自定義標簽來完成權限管理,標簽類有一個doStartTag方法,當它返回SKIP_BODY時,表示忽略標簽體的內容;SKIP_PAGE表示忽略剩下的頁面,EVAL_PAGE表示繼續執行下面的頁面。如下為doStartTag具體實現的片斷:

public int doStartTag() throws JspException {

HttpSession session = pageContext.getSession();

if (session == 1) {

try {

pageContext.forward(FRONT_PAGE);

} catch (Exception e) {

throw new JspException(e.toString());}

return SKIP_PAGE;}

Sysuser sysuser = (Sysuser) session.getAttribute(BEAN_NAME);

if (sysuser != 1) {

if (sysuser.getSuUsrType().equals(\"普通用戶\")) {

if (normalPriv != 1 normalPriv.equals(\"true\"))

return EVAL_PAGE;

else {

try {

pageContext.forward(FRONT_PAGE);

} catch (Exception e) {

throw new JspException(e.toString());}

return SKIP_BODY;}}

……}

具體做法如下:當用戶登陸時,把從數據庫中讀出的SysUser類型放入session,用戶操作相應模塊時都要先讀模塊中的自定義標簽,看看是否合法。以ProjectMang-ement.jsp為例:在頁面上出現了的自定義標簽,其含義是,本頁面數據錄入員、系統管理員可以訪問,而高級擁護、普通用戶則不行。

對用戶操作菜單可以利用Struts的logic標簽進行分類操作,進一步防止越權操作的可能性。代碼如下:這里看不出任何業務邏輯,而且頁面也整潔很多,不需要framework真正實現了MVC,實現了很好的分離。

4 防止非法的訪問或者攻擊

4.1 SQL注入攻擊SQL注入通過網頁對網站數據庫進行修改

它能夠直接在數據庫中添加具有管理員權限的用戶,從而最終獲得系統管理員權限。J2EE環境下避免SQL注入主要有兩種方式:在數據庫訪問層對數據庫進行操作時,用parameter的形式傳遞參數:對用戶輸入的字符進行過濾,將一些敏感或者特殊的字符過濾掉。本系統采用Hibernate參數綁定機制來避免上述問題,其參數綁定機制依賴于JDBC API中Prepared Statement的預定義SQL語句功能。總的來說,參數綁定機制有以下兩點:

1) 非常安全,防止懷有惡意的用戶非法調用數據庫系統的存儲過程。

2) 能夠利用底層數據庫預編譯SQL語句的功能,提高查詢數據的性能。預編譯是指底層數據庫系統只需編譯SQL語句一次,把編譯出來的可執行代碼保存在緩存中,如果多次執行相同形式的SQL語句,不需要重新編譯,只要從緩存中獲得可執行代碼即可。

4.2 跳過登陸頁面直接訪問

如果非法用戶獲得了應用系統內部頁面的地址(除登錄頁面以外),就可以通過直接在IE的地址欄中輸入內部頁面地址,來直接進入系統,從而跳過了驗證用戶合法性驗證的登錄頁面。此系統采用上文所說的自定義標簽的方式,在每一個頁面的頂部進行權限驗證,如果不符合權限的級別要求會直接跳轉到首頁。系統主界面是一個大的框架,在運行過程中,系統的功能頁面都在右框架之中動態加載,系統的彈出頁面也都因為Struts的action跳轉將地址欄屏蔽,這樣有效地防止了用戶直接獲得并訪問系統內部頁面地址。

5 結束語

本文在介紹了RBAC 的基礎上,設計了一種通用的用戶權限動態控制模型,并利用Struts和Hibernate框架介紹了其實現過程。該方案已在筆者開發的上海市軟件度量系統中得到了實現,其按照模塊不同劃分不同的角色,對每個角色分配不同的許可,并為不同的用戶指派不同的角色,實現了用戶與訪問權限邏輯分離,有利于系統的擴展和管理維護。

參考文獻:

[1] 孫衛琴. 精通Struts:基于MVC的Java Web設計與開發[M]. 北京:電子工業出版社,2004.

[2] 孫衛琴. 精通Hibernate:Java 對象持久化技術詳解[M]. 北京:電子工業出版社,2005.

[3] Alur D, Crupi J, Malks D. Core J2EE Patterns:Best Practices and Design Strategies.Pearson Education Inc, 2001.

[4] 李安志, 崔蔚, 徐永紅. 基于角色的網頁訪問權限控制方案[J]. 電腦與信息技術,2004 (6):4-7.

[5] 高正憲, 李中學. Web環境下基于角色的訪問控制策略及實現[J]. 計算機工程,2004 ,30 (8):133-135.

主站蜘蛛池模板: 超清无码熟妇人妻AV在线绿巨人| 久久国产精品夜色| 在线视频97| 国产精品3p视频| 精品视频在线观看你懂的一区 | 毛片基地美国正在播放亚洲 | 2021国产精品自拍| 国产精品男人的天堂| 亚洲黄色成人| 无码精品福利一区二区三区| 91九色最新地址| 亚洲第一成网站| 18黑白丝水手服自慰喷水网站| 日韩不卡高清视频| 国产91小视频在线观看| 欧美久久网| 亚洲视频免费播放| 乱人伦中文视频在线观看免费| 久久99国产综合精品女同| 任我操在线视频| 亚洲人视频在线观看| 欧美成人一级| a天堂视频| 无码一区二区三区视频在线播放| 98超碰在线观看| 国产成人你懂的在线观看| 91久久天天躁狠狠躁夜夜| 午夜福利免费视频| 午夜精品区| 中文无码日韩精品| 亚洲色图在线观看| 狠狠亚洲五月天| 久久精品嫩草研究院| 国产亚洲视频中文字幕视频| 黑人巨大精品欧美一区二区区| 国内自拍久第一页| 国产成人亚洲无吗淙合青草| 国产乱肥老妇精品视频| 日韩av无码DVD| 亚洲免费毛片| 色噜噜狠狠狠综合曰曰曰| 国产无遮挡猛进猛出免费软件| 全午夜免费一级毛片| 国产成人91精品免费网址在线| 尤物精品国产福利网站| 国产成人久久综合777777麻豆| 乱码国产乱码精品精在线播放| 自慰网址在线观看| 99国产精品国产高清一区二区| 人妻无码中文字幕第一区| 亚洲最猛黑人xxxx黑人猛交 | 国产福利2021最新在线观看| v天堂中文在线| 色有码无码视频| 四虎国产成人免费观看| 久久天天躁狠狠躁夜夜2020一| 亚洲av无码人妻| 国产精品毛片一区| 无码视频国产精品一区二区| 五月六月伊人狠狠丁香网| 久久精品66| 十八禁美女裸体网站| 亚洲精品国产综合99久久夜夜嗨| 91久久国产成人免费观看| 狠狠v日韩v欧美v| 亚洲av无码牛牛影视在线二区| 中美日韩在线网免费毛片视频| 色哟哟国产精品一区二区| 国产黑丝视频在线观看| 最新国语自产精品视频在| 国产精品熟女亚洲AV麻豆| 中文字幕在线一区二区在线| 国产在线观看99| 日本色综合网| 国产精品自在线拍国产电影| 国内精品伊人久久久久7777人| 午夜福利无码一区二区| 香蕉视频国产精品人| 99re精彩视频| 永久在线播放| 色妞永久免费视频| 午夜久久影院|