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

Web應(yīng)用系統(tǒng)中RBAC模型的研究與實現(xiàn)

2015-10-13 09:32:15黃秀文
武漢紡織大學(xué)學(xué)報 2015年3期
關(guān)鍵詞:按鈕數(shù)據(jù)庫用戶

黃秀文

?

Web應(yīng)用系統(tǒng)中RBAC模型的研究與實現(xiàn)

黃秀文

(武漢紡織大學(xué) 信息技術(shù)中心,湖北 武漢 430074)

訪問控制是Web系統(tǒng)中安全防范和保護的主要策略,傳統(tǒng)的訪問控制已不能滿足日益增長的安全性需求。本文在web應(yīng)用系統(tǒng)中,使用基于角色的訪問控制(RBAC)模型,通過引入角色的概念,將用戶映射為在一個組織中的某種角色,將訪問權(quán)限授權(quán)給相應(yīng)的角色,根據(jù)用戶在組織內(nèi)所處的角色進行訪問授權(quán)與控制,從而提高了在web系統(tǒng)中權(quán)限分配和訪問控制的靈活性與安全性。

Web系統(tǒng);RABC;權(quán)限管理

隨著信息管理系統(tǒng)朝著多用戶、多應(yīng)用的發(fā)展,用戶可訪問的數(shù)據(jù)資源結(jié)構(gòu)越來越復(fù)雜,規(guī)模越來越大,各種信息系統(tǒng)都面臨著如何對數(shù)據(jù)資源進行有效安全管理的難題。因此,資源的訪問控制在大型信息系統(tǒng)的設(shè)計與開發(fā)中所占的地位日益重要。訪問控制作為系統(tǒng)底層的技術(shù),必須防止非法用戶對系統(tǒng)的訪問和滿足不同用戶對不同數(shù)據(jù)資源的需求。

基于角色的訪問控制(Role-Based Access Control,RBAC)具有傳統(tǒng)訪問控制安全策略的部分特點,又符合現(xiàn)代企業(yè)的管理模式。RBAC借助于角色這個主體,把原來大量的用戶抽象成角色,用戶通過角色來訪問數(shù)據(jù)資源。通過建立這種映射關(guān)系,基于角色的訪問控制策略可以大大提高管理效率,減少授權(quán)管理的復(fù)雜工作,減少管理的開銷,并且還能為管理員提供一個很好的管理安全的環(huán)境。

1 RBAC模型概述

RBAC模型是在20世紀(jì)70年代提出的,后來在Sandu等人的提倡和推動下得到了很大的發(fā)展。2001年8月美國國家技術(shù)與標(biāo)準(zhǔn)局(NIST)發(fā)表了RBAC建議標(biāo)準(zhǔn)。此建議標(biāo)準(zhǔn)綜合了該領(lǐng)域眾多研究者的共識,主要包括兩個部分:第一部分是RBAC參考模型,它定義了RBAC的通用術(shù)語和模型構(gòu)件并且界定了標(biāo)準(zhǔn)所討論的RBAC領(lǐng)域范圍;第二部分是功能規(guī)范,它定義了RBAC的管理操作,可以分為管理功能,系統(tǒng)支持功能,審查功能等三類。

RBAC參考模型由核心RBAC,層次型RBAC,約束型RBAC這3個模型組成。核心RBAC模型為基本模型,規(guī)定了RBAC系統(tǒng)所必須滿足的最小要求,其結(jié)構(gòu)模型如圖1所示。

圖1 核心RBAC結(jié)構(gòu)模型

由上圖可知,核心RBAC模型由用戶(user)、角色(roles)、對象(objects)、操作(operations)、許可(permissions)等五個基本要素組成。

用戶代表任何直接使用計算機系統(tǒng)的實體,通常指人,也可以是Agent等智能程序。

角色表示系統(tǒng)或者組織中某一特定任務(wù)的責(zé)任和權(quán)力,可以是一個抽象概念,也可以對應(yīng)于實際系統(tǒng)中的特定語義體。角色的劃分需要考慮安全策略以及組織內(nèi)的崗位職責(zé)等因素。

操作是程序可執(zhí)行的反映,被用戶調(diào)用和執(zhí)行。操作的類型取決于實現(xiàn)系統(tǒng)的類型。例如文件系統(tǒng)可能的操作有讀、寫、執(zhí)行等。

對象表示資源(Resource)或目標(biāo),任何訪問控制機制都是為了保護系統(tǒng)的資源。對象包括:文件、目錄,數(shù)據(jù)庫表、行、字段,磁盤空間,打印機,甚至CPU周期等。

許可是對在一個或多個對象上執(zhí)行操作的權(quán)限。由操作和對象組成,表示對對象的一個操作。例如,對于新聞的修改操作。

會話在核心RBAC模型中是比較隱晦的一個元素。RBAC標(biāo)準(zhǔn)定義:每個會話是一個映射,一個用戶到多個角色的映射。當(dāng)一個用戶激活他所有角色的一個子集時,建立一個會話。每個會話和單個用戶關(guān)聯(lián),每個用戶可以關(guān)聯(lián)到一個或多個會話。當(dāng)用戶執(zhí)行一段過程(Process)或一個動作(Action)時,將使用到相關(guān)的Role(所有Role的子集);這個過程就可以稱為一個會話。

在RBAC模型中,核心概念是角色,角色在語義上被構(gòu)造,用于訪問控制策略管理。用戶分配關(guān)系和權(quán)限分配關(guān)系,顯示了RBAC模型中的兩級授權(quán)的模式。一個用戶可被分配一個或多個角色,同時一個角色也可被指定給一個或多個用戶。一個角色可以被分配多個權(quán)限,同時一個權(quán)限也可以被指定給多個角色。通過角色作為橋梁,將用戶和權(quán)限聯(lián)系起來,用戶具有其所屬各個角色的訪問權(quán)限之和。

2 web系統(tǒng)中的權(quán)限設(shè)計

2.1 系統(tǒng)功能模塊設(shè)計

本文所設(shè)計的權(quán)限管理系統(tǒng)分為權(quán)限管理、訪問控制、系統(tǒng)管理三個模塊。功能模塊圖如圖2所示。

圖2 系統(tǒng)功能模塊圖

2.1.1 權(quán)限管理模塊

權(quán)限管理模塊提供統(tǒng)一的人員信息的維護和授權(quán)管理的功能。它分為用戶管理、角色管理、菜單管理和按鈕管理四個子功能模塊。

(1)用戶管理,該功能模塊用于對系統(tǒng)用戶的定義、維護和用戶-角色的映射。包括用戶定義、用戶查詢、用戶角色配置、增加用戶、刪除用戶和修改用戶等功能。

(2)角色管理,該功能模塊與應(yīng)用系統(tǒng)的要求緊密結(jié)合在一起,根據(jù)職能、部門和崗位,用于對系統(tǒng)角色的定義、維護和角色-權(quán)限的映射。它包括角色的定義、角色查詢、角色權(quán)限配置、增加角色、刪除角色和修改角色等功能。

(3)菜單管理,該功能模塊用于系統(tǒng)菜單的定義、維護。包括添加導(dǎo)航菜單的、刪除導(dǎo)航菜單、修改導(dǎo)航菜單以及對導(dǎo)航菜單進行排序等功能。不同用戶頁面顯示的導(dǎo)航菜單將和管理員定義的導(dǎo)航菜單一致。

(4)按鈕管理,該功能模塊用于頁面管理頁面中的按鈕。包括添加按鈕、刪除按鈕、修改按鈕等功能。管理員根據(jù)需求把需要進行權(quán)限管理的按鈕添加到按鈕管理中,在用戶點擊按鈕時,會對按鈕的URL進行攔截來判斷用戶是否有操作的權(quán)限。

2.1.2訪問控制模塊

訪問控制模塊是通過用戶身份驗證和權(quán)限驗證來實現(xiàn)的,對于權(quán)限管理系統(tǒng)而言,對用戶的身份驗證是至關(guān)重要的,用戶只有具有一定的權(quán)限才能相應(yīng)的進行某些操作,訪問控制模塊圖如圖3所示。

圖3 訪問控制模塊圖

訪問控制分為身份驗證、權(quán)限判斷和邏輯處理三個子功能模塊。

(1)身份驗證

所謂身份認(rèn)證是驗證這個用戶身份是否合法。這一過程是實現(xiàn)授權(quán)和審計控制所必需的前提,也是計算機網(wǎng)絡(luò)安全系統(tǒng)不可缺少的關(guān)鍵環(huán)節(jié)。

傳統(tǒng)的技術(shù)主要采用基于口令的認(rèn)證機制。當(dāng)被認(rèn)證對象要求訪問認(rèn)證服務(wù)時,提供服務(wù)的認(rèn)證方要求被認(rèn)證對象提交口令。認(rèn)證方收到口令后,將其與系統(tǒng)中存儲的口令進行比較,經(jīng)確認(rèn)被認(rèn)證對象是否為合法的訪問者。但是口令以明文方式傳輸,容易在傳輸過程中被截獲,所以對口令進行加密傳輸是防止密碼被截獲的有效方法。系統(tǒng)采用信息摘要算法(MD5)對用戶口令加密。

權(quán)限管理中心對用戶身份是否合法進行判斷。當(dāng)用戶輸入經(jīng)MD5加密后的密碼和從權(quán)限數(shù)據(jù)庫中獲得的密碼相同時,則為合法用戶,然后把用戶的權(quán)限信息保存在Session中,反之為非法用戶,即將頁面將始終停留在登錄頁面。

(2)權(quán)限判斷

權(quán)限驗證是建立在用戶身份驗證的基礎(chǔ)上的,當(dāng)合法用戶登錄時,就可以獲取用戶的所有角色權(quán)限和個人功能權(quán)限,然后將所有權(quán)限并集緩沖到Session中,在整個Session周期中,除非用戶注銷,否則用戶權(quán)限將一直被緩存,當(dāng)用戶請求某一應(yīng)用服務(wù),只需在Session的權(quán)限列表中查找用戶是否具有該操作的功能權(quán)限即可,不必再到數(shù)據(jù)庫中去讀取權(quán)限信息,如果session中有相應(yīng)的權(quán)限,則表示用戶可以執(zhí)行該功能,反之不能,這樣可以極大地減輕服務(wù)器的負(fù)擔(dān),也避免了數(shù)據(jù)庫的頻繁操作而影響系統(tǒng)的性能。

(3)邏輯處理

邏輯處理模塊是在用戶身份驗證和權(quán)限驗證通過或者沒有通過時,系統(tǒng)所做的相應(yīng)處理。

2.1.3 系統(tǒng)管理模塊

該模塊是對系統(tǒng)數(shù)據(jù)庫的配置和系統(tǒng)日志的管理。

數(shù)據(jù)庫管理負(fù)責(zé)配置系統(tǒng)使用的數(shù)據(jù)庫的類型,IP地址,端口號,數(shù)據(jù)庫名稱等信息。

日志管理負(fù)責(zé)配置系統(tǒng)日志的輸出位置,輸出的日志類型等信息。

2.2 系統(tǒng)數(shù)據(jù)庫設(shè)計

本系統(tǒng)采用MySQL數(shù)據(jù)庫,包括用戶信息表、菜單信息表、按鈕信息表、角色信息表、用戶角色關(guān)聯(lián)表、角色菜單關(guān)聯(lián)表、角色按鈕關(guān)聯(lián)表共7張數(shù)據(jù)表。數(shù)據(jù)庫的整體設(shè)計如圖4所示:

圖4 數(shù)據(jù)庫整體設(shè)計

3 訪問權(quán)限的實現(xiàn)

3.1 系統(tǒng)安全機制的實現(xiàn)

系統(tǒng)使用Filter攔截器實現(xiàn)訪問控制機制,攔截器必須實現(xiàn)javax.servlet包中的Filter接口。這個接口定義了三個方法,init()方法在攔截器初始化的時候被調(diào)用、destroy()方法在攔截器銷毀的時候被調(diào)用、doFilter()方法在攔截器被請求時調(diào)用。使用Filter需要先在web.xml中進行配置。配置方式如圖5所示。

圖5 配置Filter

系統(tǒng)通過在web.xml中配置攔截器的攔截路徑來對用戶的請求和操作進行攔截處理,從而完成用戶身份驗證和權(quán)限驗證,達到訪問控制的目的。上面的配置文件中filter-name是指攔截器的名字,filter-class是指MenuFilter這個攔截器對應(yīng)的Java類,url-pattern是指要對什么路徑下的url進行攔截,這里是攔截menu下的所有路徑。

3.2 用戶身份驗證的實現(xiàn)

在實現(xiàn)用戶身份驗證的過程中,系統(tǒng)利用MD5信息摘要算法對用戶口令進行加密以防止用戶口令被竊取,用以加強保證系統(tǒng)的安全性。

首先獲得MD5摘要算法的 MessageDigest 對象,然后使用指定的字節(jié)更新摘要,digest()最后確定返回md5 hash值,返回值為8為字符串,因為md5 hash值是16位的hex值,實際上就是8位的字符。最后把密文轉(zhuǎn)換成十六進制的字符串形式返回。

用戶身份認(rèn)證就是通過搜索用戶信息表,對用戶登錄的ID和密碼進行鑒別,從而判定該用戶合法還是非法。

3.3 權(quán)限驗證的實現(xiàn)

權(quán)限驗證階段要做的就是:根據(jù)認(rèn)證階段記錄下的用戶信息,從數(shù)據(jù)庫權(quán)限分配表中取出該用戶擁有的權(quán)限,將這些記錄在userMenuList和userButtonList等集合中,這樣,當(dāng)用戶請求某一應(yīng)用服務(wù)時,系統(tǒng)就根據(jù)應(yīng)用對應(yīng)的組織和需要的權(quán)限在對應(yīng)的List集合中查找,根據(jù)查找結(jié)果來判斷用戶是否可以對應(yīng)用進行操作,如果這一應(yīng)用服務(wù)的權(quán)限在這個用戶的功能權(quán)限中,則用戶可以對應(yīng)用服務(wù)操作,如果不在用戶的功能權(quán)限之內(nèi),則跳轉(zhuǎn)到權(quán)限不足界面。

用于權(quán)限驗證的攔截器的部分代碼如圖6所示。

圖6 攔截器權(quán)限驗證

先從session中獲取用戶,判斷用戶是否登錄,沒有登錄則跳轉(zhuǎn)到登錄界面。對已登錄的用戶才能進行權(quán)限認(rèn)證,權(quán)限認(rèn)證在 judgeAuth() 這個方法中實現(xiàn)。在用戶登錄成功時,會把用戶擁有的權(quán)限保存在List集合中,這里對比List集合中擁有的權(quán)限,如果擁有此操作的權(quán)限就繼續(xù)執(zhí)行,否則就跳轉(zhuǎn)到相應(yīng)的提示界面。

用戶身份認(rèn)證和權(quán)限認(rèn)證相結(jié)合,有效的防止了非法用戶的登錄和對系統(tǒng)的越權(quán)使用、篡改等操作,很好的實現(xiàn)了組件的安全機制。

4 結(jié)束語

權(quán)限管理系統(tǒng)主要是對系統(tǒng)的權(quán)限,角色,用戶三個對象進行管理,把繁瑣、重復(fù)的操作簡單化、統(tǒng)一化。在web應(yīng)用系統(tǒng)中構(gòu)建一個通用的權(quán)限管理平臺,有利于集中處理更有價值、更重要的事務(wù),整體提高企業(yè)辦事效率,增強信息的可控性,提高執(zhí)行力,使企業(yè)管理趨于完善,最終實現(xiàn)市場競爭力全面提升的目標(biāo)。本文以基于角色的訪問控制為原理,設(shè)計并實現(xiàn)了一個能提供完整的用戶身份認(rèn)證和集中的應(yīng)用授權(quán)體系的權(quán)限管理系統(tǒng),該系統(tǒng)權(quán)限分配直觀、擴展性好、授權(quán)靈活,能夠為多種類型的應(yīng)用系統(tǒng)提供系統(tǒng)一的授權(quán)管理和安全服務(wù)。實踐證明基于角色的訪問控制技術(shù)能夠有效地解決用戶權(quán)限的管理問題,降低了系統(tǒng)設(shè)計的復(fù)雜度。

參考文獻:

[1] 王振江,劉強.基于RBAC的擴展訪問控制模型[J].計算機工程與應(yīng)用,2005,(35).

[2] 梅蘇文,高縣明.基于角色權(quán)限管理模型的設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2002,(11).

[3] 朱磊,周明輝.一種面向服務(wù)的權(quán)限管理模型[J].計算機學(xué)報,2005,(4).

[4] 暴志剛,胡艷軍.基于Web的系統(tǒng)權(quán)限管理實現(xiàn)方法[J].計算機工程,2006,(1).

[5] 葉身興.基于角色訪問控制管理模型的研究與實現(xiàn)[D].武漢:華中科技大學(xué),2005.

[6] 王亞民.基于RBAC的信息系統(tǒng)訪問控制模型[J].情報雜志,2005,(10).

[7] D. Ferraiolo,R.Kuhn.Role-Based Access Controls[A]. In 15th NIST_NCSC National Computer Security Conference[C]. Baltimore,MD,1992.

[8] 李興華,王月清.Java Web開發(fā)實戰(zhàn)經(jīng)典基礎(chǔ)篇[M].北京:清華大學(xué)出版社,2010.8.

Research and Application of Role-Based Access Control Model in Web Application System

HUANG Xiu-wen

(Modern Education Centre, Wuhan Textile University, Wuhan Hubei 430074, China)

Access control is the main strategy of security and protection in Web system, the traditional access control can not meet the needs of the growing security. With using the role based access control (RBAC) model and introducing the concept of the role in the web system, the user is mapped to a role in an organization, access to the corresponding role authorization, access authorization and control according to the user's role in an organization, so as to improve the web system flexibility and security permissions and access control.

Web system; role-based access control; permission manage

TP393.08

A

2095-414X(2015)03-0090-05

黃秀文(1969-),女,中級,研究方向:計算機信息管理系統(tǒng).

猜你喜歡
按鈕數(shù)據(jù)庫用戶
這些按鈕能隨便按嗎?
當(dāng)你面前有個按鈕
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
內(nèi)心不能碰的按鈕
主站蜘蛛池模板: 国产成人亚洲日韩欧美电影| 色视频国产| 国产白浆视频| 曰韩人妻一区二区三区| 欧美有码在线| 国产欧美又粗又猛又爽老| www.精品国产| 色欲色欲久久综合网| 蜜桃视频一区二区| 久久久国产精品免费视频| 亚洲看片网| 久久青草精品一区二区三区| 夜夜爽免费视频| 国产成人91精品免费网址在线| 久久精品电影| 无码'专区第一页| 亚洲人成影院午夜网站| 98超碰在线观看| 国产www网站| 亚洲床戏一区| 精品成人免费自拍视频| 在线播放精品一区二区啪视频| 18禁不卡免费网站| 亚洲午夜福利精品无码不卡| 亚洲精品中文字幕无乱码| 四虎亚洲国产成人久久精品| 午夜国产大片免费观看| 波多野一区| 国产在线视频自拍| a毛片基地免费大全| 国产97区一区二区三区无码| 久久鸭综合久久国产| 精品久久777| 黄色一级视频欧美| 欧美性久久久久| 亚洲精品不卡午夜精品| 免费国产高清视频| 亚洲欧美成人综合| 日本黄色不卡视频| 99视频在线精品免费观看6| 午夜国产不卡在线观看视频| 92精品国产自产在线观看 | 国产91成人| 日韩第八页| 有专无码视频| 久久精品无码中文字幕| 日韩天堂网| 日本在线视频免费| 欧洲av毛片| 亚洲欧美日韩动漫| 国产三区二区| 乱色熟女综合一区二区| 亚洲视频在线网| 国产欧美性爱网| 九九九国产| 91av国产在线| 国产微拍精品| 波多野结衣无码中文字幕在线观看一区二区 | 国产精品香蕉| 凹凸国产分类在线观看| 精品无码一区二区在线观看| 青青草原国产| 国产在线视频自拍| 国产在线一区二区视频| 国产网站免费| 国产精品夜夜嗨视频免费视频| 大香伊人久久| 久久久久久久久18禁秘| 国产成人综合网| 波多野结衣的av一区二区三区| 亚洲成AV人手机在线观看网站| 91久久青青草原精品国产| 97视频在线精品国自产拍| 成人欧美在线观看| 波多野结衣一区二区三视频| 红杏AV在线无码| 在线一级毛片| 丝袜美女被出水视频一区| 有专无码视频| 国产99精品久久| 中国毛片网| 亚洲国产午夜精华无码福利|