• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Web應用系統(tǒng)中多重角色訪問控制的實現(xiàn)

      2017-04-26 21:16:25張迪任志宏李校紅
      電腦知識與技術(shù) 2017年6期

      張迪+任志宏+李校紅

      摘要:該文對于當前Web應用系統(tǒng)中存在的用戶身兼多職,多重角色的情況,通過控制Web應用系統(tǒng)中對于不同的用戶角色顯示對應頁面,加以用戶角色屬性判斷,擴展了RBAC模型,并實現(xiàn)了一種解決多重角色用戶訪問權(quán)限控制的方法,能實現(xiàn)多重角色的組合。該方法在實際項目運行中的實踐結(jié)果顯示該方法能夠有效運用于B/S架構(gòu)的Web應用系統(tǒng)里用戶多重角色的權(quán)限控制中。

      關(guān)鍵詞:多重角色;基于角色的訪問控制(RBAC);權(quán)限控制

      中圖分類號:TP311.1 文獻標識碼:A 文章編號:1009-3044(2017)06-0140-04

      Abstract: For the situation that the user is a multi-role and multi roles in the current Web application system, this paper according to control the Web application system for different user roles show the corresponding page and checking user roles attribute and extended RBAC model, which is able to provide a method to solve the multi-role user access control,and to achieve a combination of various roles.The practical results of the method indicate that the method can be effectively used in the B/S structure of the Web application system, which need to process the roles of the user with multiple roles.

      Key words: multi-roles; role based access control(RBAC); access rights

      1 背景

      訪問控制(Access Control)是按照用戶的身份及其所歸屬的某項定義組來限制用戶對某些信息的訪問,或者限制對某些控制功能使用的一種技術(shù)。訪問控制在身份認證環(huán)節(jié)之后,根據(jù)該身份提出的資源請求加以控制。

      現(xiàn)有的用戶權(quán)限管理方法有自主訪問控制(discretionary access control,DAC),強制訪問控制(mandatory access control,MAC)和基于角色的訪問控制(role-based access control,RBAC)[1]。目前行業(yè)對RBAC模型的研究聚焦于模型的擴展以及改進、信息系統(tǒng)應用方面。在RBAC中,權(quán)限與角色相關(guān)聯(lián),用戶通過成為適當角色的成員而得到這些角色的權(quán)限。其中,權(quán)限是指針對信息系統(tǒng)的操作權(quán)力,權(quán)限賦予角色,角色分配給用戶。這就極大地簡化了權(quán)限的管理。在一個組織中,角色是為了完成各種工作而創(chuàng)造,用戶則依據(jù)它的責任和資格來被指派相應的角色,用戶可以很容易地從一個角色被指派到另一個角色。角色可依新的需求和系統(tǒng)的合并而賦予新的權(quán)限,而權(quán)限也可根據(jù)需要而從某角色中回收。角色與角色的關(guān)系可以建立起來以囊括更廣泛的客觀情況。其授權(quán)模型如圖l所示。

      RBAC模型在應用于高校內(nèi)部財務結(jié)轉(zhuǎn)系統(tǒng)過程中,在角色和用戶權(quán)限中分別設(shè)置優(yōu)先級約束和繼承約束避免了權(quán)限沖突[2],然而對于個別用戶身兼多職,并且在不同的部門承擔同一職位,例如一位用戶既是高校二級學院院長,又是高校教務處處長,同時還是教材審批領(lǐng)導,其中院長和教務處處長的角色在系統(tǒng)中使用的功能操作欄相同,那么對該用戶進行角色權(quán)限分配后,用戶一旦登錄系統(tǒng)進入功能欄時,應用RBAC模型分配的訪問控制權(quán)限此時會出現(xiàn)數(shù)據(jù)錯誤,因為承擔不同部門的同一職位在系統(tǒng)中獲取到的數(shù)據(jù)并不相同。

      在此背景下,針對擁有多重角色(院長和教務處處長在系統(tǒng)中的角色名稱均為用戶部門領(lǐng)導)的用戶,本文對RABC模型進行擴展,在不影響其他用戶的前提下,實現(xiàn)了一種解決多重角色用戶訪問權(quán)限控制的方法。

      2 基于多重角色的權(quán)限控制

      2.1 權(quán)限控制的設(shè)計思想

      在許多應用系統(tǒng)中,都存在一部分用戶身兼多職,并且跨部門供職,這部分用戶會出現(xiàn)承擔多個部門的同一角色,這種情況下,一個用戶的部門信息有多個,多個部門對應一個角色,或者多個角色。直接應用RBAC模型,在應用系統(tǒng)中對不同角色對應不同可見性,那么身兼多個部門職位的用戶在使用系統(tǒng)過程中就會因為多個部門對應同一角色的原因出現(xiàn)數(shù)據(jù)錯誤的問題,鑒于此,基于多重角色的權(quán)限控制是在RBAC模型的基礎(chǔ)上增加了為角色分配用戶所屬部門信息,便于對用戶進行管理和角色分配時具體到一個角色對應一個部門。從而RBAC模型中的為用戶分配角色就轉(zhuǎn)化為用戶分配角色和角色對應的部門,用戶所擁有權(quán)限是為其分配所有的角色對應權(quán)限的集合,這種模式在應對各種身兼多職的情況時,具有很強的授權(quán)靈活性。擴展后的授權(quán)模型如圖2所示。

      對于開發(fā)基于B/S架構(gòu)的Web信息系統(tǒng),實質(zhì)上是在開發(fā)、積累功能模塊,每個功能模塊都對應一些具有特定功能的頁面文件,因此用戶權(quán)限和頁面是相聯(lián)系的。

      設(shè)計實例時,先為用戶分配角色,每個角色對應一些可操作的功能模塊,即權(quán)限,分配角色時即為用戶分配該角色對應的部門信息,在用戶登錄時依據(jù)用戶名獲得其對應的角色信息,依據(jù)角色展示給用戶相應的操作欄。

      2.2 數(shù)據(jù)庫設(shè)計

      根據(jù)基于多重角色的權(quán)限控制方法的設(shè)計思路,實例中和權(quán)限控制相關(guān)的數(shù)據(jù)表主要有5個:用戶表,部門表,用戶與所屬部門、角色的對應關(guān)系表,角色表,角色與權(quán)限的對應關(guān)系表,分別如表1~表5所示,另外還需要一個視圖來判斷用戶所擁有的權(quán)限。

      該表中一個角色對應多個權(quán)限id,每個功能模塊對應多個權(quán)限id,就會形成每個角色在每個功能模塊中有一到多個操作。用戶的權(quán)限根據(jù)表4中對應的角色在表5中找到相應的權(quán)限,對于身兼多職的用戶從表4中根據(jù)部門編號確定展示數(shù)據(jù),根據(jù)角色找到對應權(quán)限集合。

      3 基于多重角色的權(quán)限控制研究實例

      3.1 多重角色的分配

      實例中由管理員為身兼多職的用戶分配多重角色,分配角色時選擇該角色對應用戶所屬部門,主要代碼如下:

      .............

      UserRole userRole=null;

      userRole=new UserRole(role_id,user_id,priority,bumen_id);

      if(userRoleService.save(userRole)==true){

      ajaxResult = AJAXUtil.newOk("分配權(quán)限成功!");

      }else{

      ajaxResult = AJAXUtil.newOk("分配權(quán)限失??!");

      }

      ….......

      多重角色用戶登錄系統(tǒng)時,根據(jù)用戶角色數(shù)據(jù)查詢每一角色對應的部門信息,主要代碼如下:

      ………

      @Override

      public List getUserRoles(Long id) {

      UserRoleDAO userRoleDao = new UserRoleDAO();

      List userRoles = userRoleDao

      .getUserRoles(id);

      RoleDAO roleDao=new RoleDAO();

      BumenDAO bumenDao=new BumenDAO();

      Long bumen_id;

      Long role_id;

      for (UserRole userRole:userRoles) {

      role_id=userRole.getRole_id();

      userRole.setRole(roleDao.get(role_id));

      }

      //多重角色:查找與角色對應的部門信息。

      for (UserRole userRole:userRoles) {

      bumen_id=userRole.getBumen_id(); userRole.setBumen(bumenDao.get(bumen_id));

      }

      return userRoles;

      }

      .............

      角色名稱

      優(yōu)先級(數(shù)值越小,優(yōu)先級越高)

      角色對應部門

      ${item.role.name td>

      ${item.priority}

      ${item.bumen.bmname}

      …….......

      3.2 生成用戶界面

      用戶登錄后驗證其合法性,權(quán)限控制系統(tǒng)根據(jù)用戶編號從系統(tǒng)中讀取出其對應的角色信息,再根據(jù)每個角色對應的權(quán)限為用戶展示出可操作的權(quán)限集合,即功能欄。如圖3中左側(cè)的部分功能欄是給用戶可操作的模塊,每個子模塊對應鏈接頁面,圖3右側(cè)為每個鏈接頁面數(shù)據(jù)內(nèi)容的顯示區(qū)。不同權(quán)限的用戶登錄后的功能欄也不同。如圖4。

      對于身兼多職的用戶,類似于跨部門或跨學院具備多重角色的用戶,實例中充分考慮到用戶的體驗和易于交互,用戶界面無需切換視圖,即可處理多個職務對應的數(shù)據(jù),達到了用戶零察覺,高效辦公的效果。如圖5所示為用戶顯示多個角色對應的各部門的數(shù)據(jù)。

      3.3 權(quán)限控制

      1)為角色添加權(quán)限

      系統(tǒng)實例中創(chuàng)建了很多功能模塊,每一個新增角色都是若干個功能模塊根據(jù)業(yè)務邏輯需要的自由組合,新增角色時,系統(tǒng)為管理員用戶提供了一個樹形視圖,能夠非常方便地選擇功能模塊,如圖6所示。

      2)多重角色用戶

      對于具有多重角色的用戶,分配角色時增加一個部門信息,在用戶訪問具體的功能模塊時可根據(jù)角色對應的部門信息獲取數(shù)據(jù),具有非常強的靈活性。如圖7所示,由管理員為用戶分配角色,分配角色時同時選擇角色對應的部門信息。

      4 結(jié)束語

      基于B/S架構(gòu)的Web應用系統(tǒng),對于安全性方面的要求非常高,因此,本文針對企業(yè)、校園中個人身兼多職的情況,結(jié)合Jsp技術(shù)以及Web應用框架Struts解決了多重角色用戶的訪問控制,無需根據(jù)職務切換視圖,處理工作流暢高效。本文提出的方案已在一個項目中應用,運行狀況良好。

      參考文獻:

      [1] Ravi Sandhu, Edward Coyne, Hal Feinstein et al.Role-Based Access Control Models[J]. IEEE Computer, 1996, 29(1): 38-47.

      [2] 邵奇峰, 韓玉民, 鄭秋生. 一種混合授權(quán)的RBAC模型及其UML建模[J]. 武漢大學學報:理學版, 2014(4).

      [3] 陳宮浩, 卿粼波, 滕奇志, 等. RBAC權(quán)限管理模型在油田管理系統(tǒng)中的應用[J]. 微型機與應用, 2017(2).

      [4] 張宇一, 張保穩(wěn). 基于本體的RBAC建模及應用研究,[J].通信技術(shù), 2017(1).

      [5] 牛永潔. 改進的RBAC在設(shè)備管理系統(tǒng)中的應用[J].電子設(shè)計工程, 2011(5).

      [6] 倪東英, 張曉麗. 基于RBAC的用戶權(quán)限管理的設(shè)計與實現(xiàn)[J]. 濟南大學學報:自然科學版, 2010(2).

      [7] 樊金生, 關(guān)保燦, 李曉東.基于角色的訪問控制擴展模型及其實現(xiàn)[J]. 計算機工程與設(shè)計,2008, 29(18).

      [8] 黃偉強, 傅秀芬.基于角色的權(quán)限管理系統(tǒng)的研究與設(shè)計[J]. 現(xiàn)代計算機:專業(yè)版, 2011(5).

      [9] 王志瑞, 顧問, 劉正濤. 基于RBAC模型的權(quán)限組件[J]. 計算機系統(tǒng)應用, 2015(3).

      [10] 陳琛, 陳學廣, 王煜, 等. 一種基于改進RBAC模型的EIS權(quán)限管理框架的研究與實現(xiàn)[J]. 計算機應用研究, 2010(10).

      文山县| 万年县| 东乌珠穆沁旗| 星子县| 东台市| 蛟河市| 甘肃省| 镇江市| 崇阳县| 根河市| 江口县| 新乡市| 河间市| 永寿县| 临沭县| 大足县| 太谷县| 桐柏县| 土默特右旗| 扎鲁特旗| 潼关县| 黑水县| 澳门| 巫山县| 无为县| 从江县| 晋州市| 依安县| 马鞍山市| 响水县| 博罗县| 安乡县| 炉霍县| 叙永县| 十堰市| 宣城市| 扎鲁特旗| 营山县| 吴江市| 二连浩特市| 阳原县|