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

        ?

        基于角色-功能的Web應用系統(tǒng)訪問控制方法

        2014-08-05 04:27:50龐希愚仝春玲
        計算機工程 2014年5期
        關(guān)鍵詞:頁面用戶功能

        龐希愚,王 成,仝春玲

        (山東交通學院信息科學與電氣工程學院,濟南 250357)

        基于角色-功能的Web應用系統(tǒng)訪問控制方法

        龐希愚,王 成,仝春玲

        (山東交通學院信息科學與電氣工程學院,濟南 250357)

        分析現(xiàn)有基于角色的訪問控制模型在Web應用系統(tǒng)中的不足,提出一種基于角色-功能模型的用戶訪問控制方法,并對其具體的實現(xiàn)進行討論。以系統(tǒng)業(yè)務功能需求自然形成的Web頁面組織結(jié)構(gòu)和用戶訪問控制需求為基礎(chǔ),劃分最底層菜單中頁面實現(xiàn)的業(yè)務功能,以業(yè)務功能作為權(quán)限配置的基本單位,通過配置用戶、角色、頁面、菜單、功能之間的關(guān)系,控制用戶對頁面、頁面中所包含的html元素及其操作等Web系統(tǒng)資源的訪問。在山東交通學院科研管理系統(tǒng)中的實際應用結(jié)果表明,該方法在菜單及頁面實現(xiàn)的業(yè)務功能上實施訪問控制,可使Web系統(tǒng)用戶訪問控制較好地滿足用戶要求,有效降低Web系統(tǒng)開發(fā)的工作量。

        Web系統(tǒng);基于角色的訪問控制;訪問控制;業(yè)務功能;角色-功能模型;動態(tài)系統(tǒng)菜單

        1 概述

        基于“角色-頁面模型”[1]的Web用戶訪問控制方法,通過在角色和頁面之間建立直接的對應關(guān)系并控制用戶是否可訪問頁面來實現(xiàn)用戶權(quán)限管理,該方法簡化了基于角色的訪問控制(Role-based Acc ess Control, R BAC)模型的實現(xiàn),同時減少了權(quán)限判斷的代碼,但是角色與頁面直接對應的方法,使得權(quán)限控制的最小單位只能是頁面,則權(quán)限控制的粒度完全依賴于頁面所實現(xiàn)的功能。基于角色-模塊-頁面模型[2]的訪問控制方法可以較好地解決在頁面功能劃分太細時造成頁面太多的問題,但一個頁面只屬于一個權(quán)限配置模塊,仍然無法徹底避免出現(xiàn)冗余頁面的現(xiàn)象?!癆SP.net中基于RBAC的通用權(quán)限管理系統(tǒng)”所提的權(quán)限控制方法中,把菜單、頁面、字段和操作抽象為統(tǒng)一的系統(tǒng)資源,訪問控制粒度可以細化到頁面字段[3],但用戶權(quán)限計算量較大,且對權(quán)限管理人員的要求較高。根據(jù)Web應用系統(tǒng)的特點,并結(jié)合山東交通學院科研管理系統(tǒng)中用戶權(quán)限管理的需要,本文在RBAC模型和Web應用系統(tǒng)特點的研究基礎(chǔ)上,提出一種基于角色-功能模型的用戶訪問控制方法,通過考慮用戶、角色、功能、菜單、頁面的關(guān)系以實現(xiàn)通用性強、用戶使用方便、不額外增加Web系統(tǒng)開發(fā)工作量、粒度可控的用戶權(quán)限管理。

        2 RBAC權(quán)限管理模型

        訪問控制是保證計算機信息系統(tǒng)保密性、完整性、可用性的重要手段之一,它的目的是保證系統(tǒng)資源受控、合法地使用,使用戶只能根據(jù)自己的權(quán)限大小來訪問系統(tǒng)資源,不得越權(quán)訪問。

        傳統(tǒng)的強制訪問控制和自主訪問控制由于各自的缺點均不能滿足日益復雜的管理系統(tǒng)對訪問控制的需求,RBAC正是基于這種應用需求的推動下產(chǎn)生的。RBAC以組織視圖角度進行權(quán)限管理,能靈活表達企業(yè)組織的安全政策,是目前最為廣泛接受的權(quán)限模型[4]。RBAC的主要思想是將授權(quán)和角色聯(lián)系在一起,可分配角色到用戶,使用戶通過角色間接地訪問資源。這種方式通過引入角色中介,實現(xiàn)了用戶與訪問許可的邏輯分離,極大地方便了權(quán)限管理[5]。其中具有代表性的模型RBAC96模型。圖l是該模型中的基本模型RBAC0。

        圖1 RBAC0模型

        在RBAC之中包含5個基本元素:用戶(USERS),角色(ROLES),目標(OBS),操作(OPS),許可權(quán)(PRMS),權(quán)限被賦予角色,而不是直接被賦予用戶,當一個用戶擁有某個角色時,此用戶就擁有了該角色所包含的權(quán)限。會話表示的是用戶和角色之間的關(guān)系,用戶每次必須通過建立會話來激活角色,得到相應的訪問權(quán)限。RBAC模型是針對傳統(tǒng)的信息系統(tǒng)提出的權(quán)限控制方法,但Web系統(tǒng)有著與傳統(tǒng)的信息系統(tǒng)不同的特點,隨著Web應用模式的廣泛使用,有必要對針對Web系統(tǒng)的特點對RBAC模型進行適當?shù)母淖?,使其能更好地滿足Web系統(tǒng)的要求。

        3 Web應用系統(tǒng)的特點

        通常對用戶來說,一個Web系統(tǒng)就是一些頁面的集合,用戶通過瀏覽器訪問頁面并按照頁面上設定的操作來完成某項任務或工作,用戶的所有操作都是通過對Web頁面的訪問來完成的。Web頁面不僅為用戶提供了所需的數(shù)據(jù),并為用戶提供了所需的操作。數(shù)據(jù)通過頁面的各種HTML標簽(例如文本框、下拉列表框等)來顯示;操作指頁面提供的例如新增、修改、刪除、打印、審核等各種交互行為,一般通過HTML的按鈕、錨等標簽實現(xiàn)。在Web應用中,基于業(yè)務需求的多樣性,Web頁面的組織形式十分靈活,頁面、菜單與業(yè)務功能之間關(guān)系模型如圖2所示。

        多個業(yè)務邏輯可以放置在一個頁面中,一個頁面包含了多個業(yè)務功能;同時,一個業(yè)務邏輯也可以由多個頁面來實現(xiàn),多個頁面實現(xiàn)了一個業(yè)務功能。一個業(yè)務功能包含多個功能操作,例如新增、修改、刪除、審批、打印、用戶自定義的操作等。Web系統(tǒng)的最底層菜單可能對應著一個頁面;也可能對應著多個頁面,在此情況下,會選取其中的一個頁面作為菜單的入口頁面。Web系統(tǒng)的最底層菜單對應著系統(tǒng)的最小業(yè)務功能模塊,由1個或多個業(yè)務功能組成。Web系統(tǒng)的上層菜單是由多個子菜單組成的,對應著系統(tǒng)的較大業(yè)務功能模塊。

        圖2 頁面、菜單、功能組織結(jié)構(gòu)模型

        4 角色-功能模型

        4.1 RB AC應用于Web應用系統(tǒng)的不足

        NIST RBAC只是規(guī)范了RBAC系統(tǒng)的基本結(jié)構(gòu)組成和統(tǒng)一的屬于,并非致力于RBAC模型的具體實現(xiàn)。在實際Web應用中使用RBAC模型應充分考慮Web系統(tǒng)的特點,使設計出的RBAC模型具有較高的通用性,權(quán)限控制的粒度調(diào)節(jié)方便,能滿足不同Web系統(tǒng)的需求;可以比較簡單的嵌入到未實現(xiàn)權(quán)限管理的Web系統(tǒng)中,并不破壞系統(tǒng)的體系結(jié)構(gòu)和業(yè)務邏輯,增加系統(tǒng)開發(fā)工作量;方便權(quán)限管理員的使用。

        RBAC模型中權(quán)限就是允許對一個或多個客體執(zhí)行的操作,但RBAC模型中的客體、操作都是抽象的概念,由此導致了權(quán)限定義的多樣性。因此,在定義Web系統(tǒng)的客體、操作及權(quán)限時,需以Web應用系統(tǒng)自身的特點為基礎(chǔ),并充分研究Web應用系統(tǒng)頁面、菜單及功能的構(gòu)成方式,才能設計出理想的Web應用系統(tǒng)權(quán)限管理功能。在Web應用系統(tǒng)中權(quán)限管理主要體現(xiàn)在不同的用戶通過瀏覽器能夠訪問到的頁面可能不同,以及對于同一個頁面而言,能夠看到的數(shù)據(jù)及進行的操作也可能不同。用戶要完成某項任務,必須通過訪問頁面才能實現(xiàn),因此根據(jù)圖2,RBAC中的客體對應著頁面中的數(shù)據(jù),操作指的是對頁面及頁面中以數(shù)據(jù)形式表現(xiàn)的客體所進行的動作,由此可見,用戶對某個頁面的訪問權(quán)限是該頁面所實現(xiàn)的業(yè)務功能的子集。

        首先對于一個Web應用系統(tǒng),根據(jù)用戶的訪問權(quán)限,把頁面所實現(xiàn)的業(yè)務功能進行拆分重新生成多個頁面,把用戶的訪問權(quán)限所能進行的操作對應到某一個新生成的頁面所能完成的功能上面去,則作為Web應用客體的唯一表現(xiàn)形式——頁面客體,對它的操作就只有訪問這一項,例如基于角色-頁面模型的Web用戶訪問控制方法提出的通過控制頁面對用戶是否可見來實現(xiàn)用戶權(quán)限的管理,但權(quán)限控制的粒度取決于以頁面為基本單位的業(yè)務功能的劃分,如果基于頁面的功能劃分太粗,則會導致權(quán)限控制的粒度太大,如果基于頁面的功能劃分太細,則會造成頁面數(shù)量太大的問題。面向Web應用系統(tǒng)的訪問控制設計及應用通過模塊組織頁面,模塊作為權(quán)限配置的基本單位,根據(jù)權(quán)限配置需要,模塊所實現(xiàn)的業(yè)務功能可以靈活的分散到模塊所擁有的頁面中去,可以較好的解決在頁面功能劃分太細時造成頁面太多的問題[6];但在面向Web應用系統(tǒng)的訪問控制設計及應用所提的權(quán)限控制方法中,一個頁面只屬于一個權(quán)限配置模塊,即一個頁面只能實現(xiàn)一個業(yè)務功能或其中的一部分,仍然無法徹底避免冗余頁面存在,例如:通過頁面,不同的用戶看到的數(shù)據(jù)庫某張表中的字段可能是不同的,但操作可能是相同的,按照面向Web應用系統(tǒng)的訪問控制設計及應用的權(quán)限控制方法,需要根據(jù)用戶分類配置多個權(quán)限配置模塊,讓不同的用戶看到不同的數(shù)據(jù),勢必造成一定數(shù)量的冗余頁面。通過對基于角色-頁面模型的Web用戶訪問控制方法和面向Web應用系統(tǒng)的訪問控制設計及應用的分析可以得出:若把頁面所實現(xiàn)的業(yè)務功能拆分為若干個業(yè)務功能真子集,每個業(yè)務功能真子集對應一個頁面或一組頁面;一個頁面或一組頁面所實現(xiàn)的業(yè)務功能真子集,對應一個權(quán)限所能進行的操作或一個權(quán)限配置模塊,則不同的頁面之間可能會存在著類似或相同的代碼,增加了系統(tǒng)開發(fā)的工作量和系統(tǒng)維護的難度。

        其次角色與權(quán)限在抽象層次上的不同往往導致權(quán)限配置上的困難。角色在概念上指的是工作中的一個崗位,而權(quán)限則指的是對數(shù)據(jù)的操作,角色和權(quán)限是不同層次上概念。一個角色在工作中是否對某些數(shù)據(jù)進行操作,怎樣配置訪問權(quán)限才最合適,既能滿足系統(tǒng)需求,又能方便非計算專業(yè)用戶使用,現(xiàn)有的RBAC研究對此沒有給出明確的標準和相應的指導。ASP.net中基于RBAC的通用權(quán)限管理系統(tǒng)所提的權(quán)限控制方法中,把菜單、頁面、字段和操作抽象為統(tǒng)一的系統(tǒng)資源,訪問控制粒度可以細化到頁面字段,但為了區(qū)分不同頁面的字段和操作,需要存儲每個頁面的字段和操作,隨著頁面、角色、用戶數(shù)量的增加,用戶權(quán)限計算量成指數(shù)級增長。在Web應用系統(tǒng)中的頁面,不同身份的人看到的數(shù)據(jù)字段不同可以通過讓同一個頁面支持多個權(quán)限配置模塊來實現(xiàn),也就是允許一個頁面可以繼續(xù)集成多個相近的業(yè)務功能。訪問不同字段的用戶種類一般要比頁面中字段本身的數(shù)量要少,并且可以把系統(tǒng)中所有的操作獨立出來以減少權(quán)限管理的運算量;由于是通過在一個頁面中集成多個業(yè)務功能來支持多個權(quán)限配置模塊,權(quán)限管理模塊中的權(quán)限會更貼近實際業(yè)務,方便權(quán)限管理員使用。

        4.2 基于角色-功能模型的權(quán)限管理系統(tǒng)設計

        目前RBAC缺陷的本質(zhì)是只給出了最抽象的模型,并未對現(xiàn)實的應用進行充分模擬。結(jié)合Web應用系統(tǒng)自身的特點和RBAC應用在Web系統(tǒng)中的不足,通過深入分析Web應用系統(tǒng)中頁面與功能之間的邏輯關(guān)系,以及功能與權(quán)限配置模塊之間的關(guān)系,本文提出了基于角色-功能模型的用戶訪問控制方法,通過配置用戶、角色、頁面、菜單、功能之間的關(guān)系來控制用戶對頁面、頁面中所包含的html元素及操作等Web系統(tǒng)資源的訪問。基于角色-功能模型的權(quán)限管理模型圖如圖3所示。

        圖3 基于角色-功能模型的權(quán)限管理模型

        在這個權(quán)限管理模型中,頁面、菜單與業(yè)務功能之間具有下面的關(guān)系:

        (1)業(yè)務功能由一個或多個頁面實現(xiàn),每個頁面可以實現(xiàn)一個業(yè)務功能的一個或多個操作(如查看、新增、修改、刪除等),也可以實現(xiàn)多個業(yè)務功能的操作。

        (2)每個最底層菜單是由一個或多個頁面組成的,并且有一個入口地址,即點擊菜單時應顯示的頁面地址;每個功能頁面只屬于一個最底層菜單。底層菜單與上層菜單之間以樹形結(jié)構(gòu)方式組織。

        (3)一個最底層菜單通過頁面實現(xiàn)了一個或多個業(yè)務功能,一個業(yè)務功能只通過一個最底層菜單中的相關(guān)頁面實現(xiàn)。

        為了進行訪問控制,在權(quán)限管理模型中需要對頁面和菜單進行業(yè)務功能的配置,以指明頁面和菜單是負責完成哪些業(yè)務功能;并配置底層菜單的入口頁面,每個功能頁面屬于哪個底層菜單。系統(tǒng)中的每個用戶屬于一個或多個角色,每個角色對各種業(yè)務功能都有相應的訪問權(quán)限,而屬于這些角色的用戶也將具備角色所擁有的訪問權(quán)限,特別地,對于一個用戶屬于多個角色的情況,用戶具有的權(quán)限是各個角色所有擁有權(quán)限的并集[7]。基于角色-功能模型權(quán)限管理系統(tǒng)將會從以下的方面進行用戶訪問控制。

        (1)用戶身份驗證:當用戶通過賬號和密碼登錄Web系統(tǒng)時,系統(tǒng)會對用戶的賬號和密碼進行驗證,檢查用戶是否為合法用戶。如果為非法的用戶,則拒絕進入系統(tǒng);如果為合法的用戶,則允許進入系統(tǒng),并讀取用戶的訪問權(quán)限信息存放于系統(tǒng)緩存中(Catch等)[8-9]。

        (2)動態(tài)系統(tǒng)菜單:由于不同的用戶擁有的角色不同,則對系統(tǒng)業(yè)務功能的訪問權(quán)限不同。在用戶進入Web系統(tǒng)后,需要根據(jù)用戶的功能訪問權(quán)限信息,鑒別出用戶能夠訪問的業(yè)務功能。只要用戶具有權(quán)限訪問底層菜單所對應的任意一個業(yè)務功能,則用戶具有權(quán)限訪問該底層菜單,否則用戶不具有訪問該菜單的權(quán)限。若用戶具有訪問底層菜單的權(quán)限,則用戶具有訪問相應上層菜單的權(quán)限[10-11],否則用戶不具有訪問相應上層菜單的權(quán)限。根據(jù)用戶對底層菜單的訪問權(quán)限和菜單權(quán)限的樹型結(jié)構(gòu)關(guān)系,從而動態(tài)生成用戶所能訪問的系統(tǒng)菜單。當用戶能夠訪問某頁面并進行該頁面訪問時,根據(jù)頁面中的菜單配置,加亮當前頁面所對應的底層菜單及上層菜單。

        (3)頁面操作權(quán)限驗證:當用戶USER_A訪問一個頁面時,系統(tǒng)將根據(jù)頁面所實現(xiàn)的業(yè)務功能和USER_A對相應業(yè)務功能的訪問權(quán)限,判斷此用戶是否具有訪問該頁面的權(quán)限。如果USER_A沒有權(quán)限訪問頁面,則禁止進入;如果USER_A有權(quán)限訪問頁面,則需要根據(jù)USER_A對業(yè)務功能的訪問權(quán)限進一步判斷用戶能操作此頁面中相應業(yè)務功能的哪些操作,對于用戶沒有權(quán)限進行的操作,應該把相應的頁面元素隱藏或禁用。其中,判斷用戶能否進入頁面的邏輯可以封裝在頁面的基類中,通過回調(diào)當前功能頁面的業(yè)務功能配置,統(tǒng)一判斷用戶是否具有進入頁面的許可;用戶能使用頁面中的哪些功能及相應的操作這一步,可編寫一套內(nèi)置了權(quán)限判斷的公用用戶控件,簡化實現(xiàn)。

        5 角色-功能模型的關(guān)鍵實現(xiàn)

        在山東交通學院科研管理系統(tǒng)中,基于asp.net 3.5和Microsoft SQL Server2500的開發(fā)平臺,采用asp.net 3.5中基類頁面、母版及自定義控件[12],通過應用上文提出的基于“角色-頁面模型”的權(quán)限管理模型有效地實現(xiàn)了Web系統(tǒng)的用戶訪問控制。

        5.1 與角色管理相關(guān)的表

        根據(jù)上文提出的Web應用系統(tǒng)權(quán)限管理模型(見圖3),得出圖4的與權(quán)限管理相關(guān)的數(shù)據(jù)庫表(其中畫橫線的字段為主鍵,粗體字段不能為空):

        (1)User、Role、RoleUser表用于定義用戶實體及其屬性、角色實體及其屬性、用戶到角色的指派。

        (2)MenuItem表用于定義樹型結(jié)構(gòu)的菜單。在MenuItem表中,Url字段是指菜單(最小業(yè)務功能集合)的入口頁面的URL,當記錄所代表的菜單不是最底層菜單時,Url字段的值為NULL;ParentMenuItemId字段為自引用(MenuItemId)字段,是指該記錄所對應的菜單的上層菜單,若該記錄所對應的菜單為最頂層菜單,則ParentMenuItemId字段的值為NULL;DisplaySequence字段是指具有相同父菜單的子菜單的顯示順序;IsAlwaysEnabled字段是指該菜單所對應的頁面是否需要進行權(quán)限驗證,如果IsAlwaysEnabled的值是False,表示該菜單的入口頁面對所有用戶可見,不需要進行權(quán)限驗證;否則,該菜單的入口頁面需要進行權(quán)限驗證。

        (3)Funtion表用于定義菜單實現(xiàn)的業(yè)務功能,Access Type字段是指業(yè)務功能具備哪些業(yè)務操作(如添加、刪除、審核等)。RoleFunction表是指角色到權(quán)限的指派,該表中的AccessFlag字段是指角色對業(yè)務功能的訪問權(quán)限。

        圖4 與權(quán)限管理相關(guān)的數(shù)據(jù)庫表

        Funtion表和RoleFunction表中的兩種權(quán)限在系統(tǒng)中使用統(tǒng)一的名稱、編碼和解讀方式,以簡化管理。

        權(quán)限的實現(xiàn)采用基于整數(shù)二進制位的方法,整數(shù)的每一位代表一種操作,0代表不具備該操作,1代表具備該操作。將某角色對某功能的訪問權(quán)限值與操作掩碼進行與運算,結(jié)果與掩碼相等則具有該掩碼對應的權(quán)限,反之則沒有。

        5.2 頁面業(yè)務功能配置

        在上文提出的Web系統(tǒng)權(quán)限管理模型中(見圖3),需要對頁面進行一次業(yè)務功能及所屬菜單的配置,以指明這個頁面是負責完成哪些業(yè)務功能及其操作的,并指明該頁面屬于哪個最底層菜單。考慮到實現(xiàn)的容易性以及可操作性,在山東交通學院科研管理系統(tǒng)中,所有的頁面都繼承自BasePage抽象類,它包含了所有頁面都可以使用的通用邏輯,其中有2個方法用來指明頁面所屬的最底層菜單及實現(xiàn)的業(yè)務功能,這2個方法的定義如下:

        繼承BasePage的頁面類必須實現(xiàn)這2個方法。

        (1)MenuItemName抽象方法返回頁面所對應的菜單項的名稱,返回的菜單項的名稱將決定要顯示哪些頂層菜單和左側(cè)菜單。

        (2)FunctionNames抽象方法以字符串數(shù)組的形式返回與該頁面相關(guān)的功能。大多數(shù)情況下,一個頁面只有一個功能;但有時一個頁面同時實現(xiàn)了幾個功能,需要將頁面的安全設置分為幾個部分,因此需要一個數(shù)組。

        5.3 權(quán)限驗證方法

        系統(tǒng)從用戶身份驗證、動態(tài)系統(tǒng)菜單生成和頁面操作權(quán)限驗證三方面進行用戶訪問的控制。在用戶登錄時,檢驗用戶是否為合法用戶,讀取用戶的功能權(quán)限集合,根據(jù)功能權(quán)限得到用戶能訪問的最底層菜單,再通過菜單的樹型組織結(jié)構(gòu)生成用戶能訪問的動態(tài)菜單。而頁面操作權(quán)限驗證,發(fā)生在訪問某個頁面及其頁面的數(shù)據(jù)和操作時,是權(quán)限管理的重點和難點所在。由于在訪問每一個頁面或執(zhí)行每個操作前都需要進行權(quán)限的驗證,因此本文將采用BasePage基類中的OnInit方法進行用戶對頁面訪問權(quán)限的驗證,一個頁面的Oninit方法最先啟動執(zhí)行[10],只要把權(quán)限驗證放在OnInit方法中,將能保證在進入每一個頁面前都進行權(quán)限的校驗,同時也能夠有效減少編寫代碼的工作量。

        具體的權(quán)限驗證方法如下:

        (1)從Function表中取出最底層菜單所實現(xiàn)的業(yè)務功能列表F及每個業(yè)務功能f實現(xiàn)的業(yè)務操作Operation-f。

        (2)由當前用戶所屬的角色(可能屬于多個角色)列表,從RoleFunciton表中取出用戶所屬的每個角色對于業(yè)務功能f的訪問權(quán)限值,把這些角色中對于f的訪問權(quán)限值相加即得到當前用戶對于業(yè)務功能f的訪問權(quán)限值Permission-f。

        (3)Operation-f和Permission-f進行邏輯與運算,如果結(jié)果不為0,則代表用戶有權(quán)限訪問該業(yè)務功能f;否則代表用戶沒有權(quán)限訪問該業(yè)務功能f。

        (4)如果用戶有權(quán)訪問業(yè)務功能f,則用戶有權(quán)訪問實現(xiàn)該業(yè)務功能的最底層菜單及其上層菜單;若用戶無權(quán)訪問某菜單所實現(xiàn)的所有業(yè)務功能,則用戶不能訪問該菜單。

        (5)當用戶要進入某頁面p時,若該頁對用戶始終可見,則在頁面p的Oinint方法中取消對用戶的權(quán)限驗證。否則,通過頁面p實現(xiàn)的FunctionNames返回頁面p實現(xiàn)的功能列表Fp。

        (6)對于Fp中的每個功能fp,把方法(1)中得到的fp的業(yè)務操作Operation-fp和方法(2)中得到的當前用戶對fp的訪問權(quán)限值Permission-fp進行邏輯與運算。若存在一個業(yè)務功能fp的邏輯運算結(jié)果不為0,代表用戶有權(quán)訪問該頁面p;若Fp中的所有功能fp的邏輯運算結(jié)果均為0,代表用戶無權(quán)訪問該頁面。

        (7)如果用戶有進入此頁面的權(quán)限,則需要進一步驗證用戶能操作此頁面中的哪些功能及操作,以控制頁面中各元素的可見性。通過對功能fp訪問權(quán)限值Permission-fp進行解碼,即可判斷Permission-fp擁有哪些具體操作。

        6 結(jié)束語

        RBAC是目前較為流行的一種安全控制技術(shù),本文在分析Web應用系統(tǒng)中的頁面、菜單與功能之間關(guān)系的基礎(chǔ)上,以業(yè)務功能作為權(quán)限配置管理的基本單位,可以避免因Web系統(tǒng)引進權(quán)限管理模塊而導致的大量重復代碼,同時也減少了授權(quán)管理的復雜性,降低了對系統(tǒng)管理員的要求。通過將功能與菜單關(guān)聯(lián),可以實現(xiàn)權(quán)限管理的粗粒度訪問控制;將功能與頁面關(guān)聯(lián),可實現(xiàn)細粒度的訪問控制。通過在項目中的實際應用,證明了本文所提的實現(xiàn)方案可靠方便,通用性強,可移植性高,有利于提高系統(tǒng)開發(fā)效率。基于角色-功能模型的權(quán)限管理系統(tǒng)其局限性表現(xiàn)在僅實現(xiàn)了RBAC96基本模型RBAC0。如果需要實現(xiàn)更復雜、功能更強的權(quán)限管理,則需要對該權(quán)限管理模型做進一步的擴展。

        [1] 倪晚成, 劉連臣, 劉 偉. 基于角色一頁面模型的Web用戶訪問控制方法[J]. 計算機工程與應用, 2006, 42(21): 125- 126.

        [2] 陸庭輝, 文貴華. B/S結(jié)構(gòu)下的用戶訪問控制方法[J]. 計算工程與設計, 2010, 31(7): 143-146.

        [3] 范明虎, 英 紅, 伍孝金. ASP.net中基于RBAC的通用權(quán)限管理系統(tǒng)[J]. 計算機工程, 2010, 36(1): 143-145.

        [4] 楊文波, 張 輝, 劉 瑞. 一種基于角色訪問控制的新模型[J]. 計算機工程, 2006, 32(21): 173-175.

        [5] 夏榆濱, 宣明付. 基于RBAC的統(tǒng)一權(quán)限管理系統(tǒng)研究[J].微計算機信息, 2006, 22(9): 111-116.

        [6] 李艷翠, 孔 芳, 朱巧明. 面向Web應用系統(tǒng)的訪問控制設計及應用[J]. 計算機工程與設計, 2008, 29(5): 1076-1079.

        [7] 邊小凡, 趙 峰. 基于REST風格的RBAC模型研究[J].計算機應用與軟件, 2009, 26(9): 126-163.

        [8] 刁明光, 薛 濤, 潘文勇. 基于用戶組和客體抽象的權(quán)限控制模型[J]. 計算機應用, 2009, 29(z1): 112-113.

        [9] 董 斌, 陳進哲, 劉秀玲. 基于Web的RBAC權(quán)限機制在電子病歷系統(tǒng)的研究[J]. 計算機工程與應用, 20 08, 44(26): 223-225.

        [10] 邢天揚, 曹 曼. 基于TP-RBAC權(quán)限樹算法研究及應用[J].計算機工程與設計, 2010, 31(5): 950-956.

        [11] 張 興, 王 華, 施俊士. Web信息系統(tǒng)中基于樹型結(jié)構(gòu)的RBAC模型設計與實現(xiàn)[J]. 計算機應用與軟件, 2009, 26(11): 157-159.

        [12] 樸春慧, 曲玉森, 楊春燕. 高校教師管理系統(tǒng)開發(fā)中的若干關(guān)鍵技術(shù)研究[J]. 計算機工程與設計, 2010, 31(14): 3323-3324.

        編輯 索書志

        Access Control Method for Web Application System Based on Role-function

        PANG Xi-yu, WANG Cheng, TONG Chun-ling

        (School of Information Science and Electrical Engineering, Shandong Jiaotong University, Jinan 250357, China)

        The access control requirements of Web application system and the shortcomings in Web application system with Role-based Access Control(RBAC) mod el a re analyzed, a f undamental idea of access contr ol based on role-function model is proposed and its implementation details are discussed. Base d on naturally formed Web pag e orga nization structure according to th e business funct ion requirements of the system and access control requirements of users, business functions of pages are partitioned in bottom menu in order to form the basic unit of permissions configuration. Through configuring the relation between user, role, page, menu, function to control user access to system resources such as Web page, the html element and operation in the page. Through the practical application of scientific research management system in Shandong Jiaotong University, ap plication shows that implementation of access control in the page and menu to achieve business function, can well meet the enterprise requirements for user access co ntrol of Web system. It has the advantages of simple operation, strong versatility, and effectively reduces the workload of Web system development.

        Web system; Role-based Access Control(RBAC); access control; business function; role-function model; dynamic system menu

        10.3969/j.issn.1000-3428.2014.05.030

        國家自然科學基金資助項目(61103022);濟南市科技發(fā)展計劃基金資助項目(201221140, 20122114);山東交通學院科研基金資助項目(Z201307, Z201230)。

        龐希愚(1981-),男,碩士研究生,主研方向:信息安全;王 成,碩士研究生;仝春玲,教授、博士。

        2013-03-21

        2013-05-26E-mail:xiyupang@126.com

        1000-3428(2014)05-0144-05

        A

        TP309

        猜你喜歡
        頁面用戶功能
        大狗熊在睡覺
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        刷新生活的頁面
        關(guān)于非首都功能疏解的幾點思考
        關(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
        如何獲取一億海外用戶
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        辨證施護在輕度認知功能損害中的應用
        日韩精品 在线 国产 丝袜| 亚洲啪啪AⅤ一区二区三区| 亚洲av午夜福利一区二区国产| 色婷婷久久精品一区二区| 国产午夜福利精品一区二区三区| 性欧美大战久久久久久久久| 成 人 网 站 在线 看 免费| 亚洲小少妇一区二区三区| 精品国产亚洲亚洲国产| 波多野42部无码喷潮| 99久久国产视频| 久久99精品免费国产| 91自拍视频国产精品| 久久香蕉国产线熟妇人妻| 国产在线观看入口| 人妻色中文字幕免费视频| 日韩精品第一区二区三区| 亚洲成av人片在线观看麦芽 | 国产精品亚洲欧美天海翼| 极品少妇被后入内射视| 变态另类人妖一区二区三区 | av网站在线观看亚洲国产| 久久精品人妻无码一区二区三区| 国产精品开放小视频| 黄网站a毛片免费观看久久| 校园春色综合久久精品中文字幕| 国产精品久久久久影院| 91精品国产免费久久久久久青草 | 狠狠色噜噜狠狠狠777米奇小说| 亚洲最新偷拍网站| 日本中文字幕av网址| 男人的天堂一区二av| 亚洲熟妇无码八av在线播放 | 美女脱了内裤洗澡视频| 国产永久免费高清在线| 思思99热精品免费观看| 天堂av在线播放观看| 日韩免费视频| 国产亚洲情侣一区二区无| av天堂线上| 丰满人妻中文字幕一区三区|