• 
    

    
    

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

      ?

      基于RBAC的權(quán)限管理在地震數(shù)據(jù)共享平臺(tái)系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)

      2020-07-09 22:13張?chǎng)?/span>楊振中劉帥黃猛
      現(xiàn)代信息科技 2020年2期
      關(guān)鍵詞:訪問(wèn)控制模型用戶

      張?chǎng)巍钫裰小洝↑S猛

      摘? 要:基于角色的訪問(wèn)控制是目前比較流行的一種權(quán)限管理方案,其簡(jiǎn)化了用戶與權(quán)限的關(guān)系,易擴(kuò)展、易維護(hù),能夠很好地解決復(fù)雜ERP系統(tǒng)的權(quán)限管理問(wèn)題。使用ThinkPHP 5.0開(kāi)發(fā)框架,在RBAC基礎(chǔ)上成功設(shè)計(jì)并實(shí)現(xiàn)的地震數(shù)據(jù)共享平臺(tái)系統(tǒng)權(quán)限管理模塊有效降低了系統(tǒng)權(quán)限管理的復(fù)雜性,很好地解決了本系統(tǒng)面向多用戶,重要數(shù)據(jù)的保密等眾多高級(jí)別要求。

      關(guān)鍵詞:RBAC;ERP;ThinkPHP 5.0;權(quán)限管理;地震數(shù)據(jù)共享平臺(tái)系統(tǒng)

      中圖分類號(hào):TP311.52;P631.4+35? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)02-0013-03

      Abstract:Role-based Access Control? is a popular scheme of rights management. RBAC simplifies the relationship between users and rights,is easy to expand and maintain,and can solve the rights management problems of complex ERP system. Using ThinkPHP 5.0 development framework,the system authority management module of seismic data sharing platform,which is successfully designed and implemented on the basis of RBAC,effectively reduces the complexity of system authority management,and solves many high-level requirements of the system,such as multi-user oriented,confidentiality of important data,etc.

      Keywords:RBAC;ERP;ThinkPHP 5.0;authority management;seismic data sharing platform system

      0? 引? 言

      在大數(shù)據(jù)時(shí)代背景下,數(shù)據(jù)資源豐富,數(shù)據(jù)共享新模式應(yīng)運(yùn)而生。地震數(shù)據(jù)作為大數(shù)據(jù)時(shí)代中的一員,它有著很大的影響力,但一直以來(lái)人們所了解的地震數(shù)據(jù)微乎其微,關(guān)注度也很低。為此本文提出了地震數(shù)據(jù)共享平臺(tái)這一解決方案。然而,地震數(shù)據(jù)有著特殊性,很多的數(shù)據(jù)是保密的,普通用戶和地震工作者在本系統(tǒng)上所看到的數(shù)據(jù)是不同的。因此本系統(tǒng)在開(kāi)發(fā)過(guò)程中引入了基于RBAC(基于角色的訪問(wèn)控制,Role-Based Access Control)的權(quán)限管理。

      針對(duì)本系統(tǒng)的實(shí)際需求,以ThinkPHP 5.0為后端開(kāi)發(fā)框架,采用PHP程序語(yǔ)言,底層數(shù)據(jù)庫(kù)采用MySQL數(shù)據(jù)庫(kù),開(kāi)發(fā)出了B/S模式下的地震數(shù)據(jù)共享平臺(tái)系統(tǒng)。采用RBAC權(quán)限管理,有效降低了系統(tǒng)權(quán)限管理的復(fù)雜性,大幅提高了系統(tǒng)的安全性。

      1? RBAC介紹

      RBAC模型是20世紀(jì)90年代研究出來(lái)的一種新模型,但其實(shí)在20世紀(jì)70年代的多用戶計(jì)算時(shí)期,這種思想就已經(jīng)被提出來(lái),直到20世紀(jì)90年代中后期,研究團(tuán)體開(kāi)始對(duì)RBAC的重視,并先后提出了許多類型的RBAC模型。其中以美國(guó)George Mason大學(xué)信息安全技術(shù)實(shí)驗(yàn)室(LIST)提出的RBAC96模型最具有代表,并得到了普遍的公認(rèn)。

      RBAC基本概念:RBAC是基于角色的權(quán)限控制,角色綁定權(quán)限,用戶綁定角色從而控制用戶的權(quán)限,它們之間都是多對(duì)多的關(guān)系,實(shí)現(xiàn)了用戶和權(quán)限的邏輯分離,極大地方便了權(quán)限的管理。

      (1)User(用戶):每個(gè)用戶都有唯一的ID標(biāo)識(shí),并被授予不同的角色;

      (2)Role(角色):不同角色具有不同的權(quán)限;

      (3)Permission(權(quán)限):訪問(wèn)權(quán)限;

      (4)用戶-角色映射:用戶和角色之間的映射關(guān)系;

      (5)角色-權(quán)限映射:角色和權(quán)限之間的映射。

      2? RBAC在系統(tǒng)中的應(yīng)用

      2.1? 地震數(shù)據(jù)共享平臺(tái)

      伴隨著大數(shù)據(jù)時(shí)代數(shù)據(jù)共享模式的誕生,地震數(shù)據(jù)共享迎來(lái)新的發(fā)展,為此,本文提出了地震數(shù)據(jù)共享平臺(tái)這一解決方案。地震數(shù)據(jù)共享平臺(tái)系統(tǒng)分為兩部分,一部分是面向地震行業(yè)工作者的地震基礎(chǔ)地理數(shù)據(jù)的上傳下載及地震專題圖的制作發(fā)布,另一部分是面向大眾的地震數(shù)據(jù)(包括地震工作者制作并發(fā)布的地震專題圖)展示及相關(guān)數(shù)據(jù)分析展示。系統(tǒng)權(quán)限管理便是本系統(tǒng)的一大核心功能模塊,也是本系統(tǒng)的特色。

      2.1.1? 系統(tǒng)總體框架設(shè)計(jì)

      本系統(tǒng)采用當(dāng)下流行的Vue+ThinkPHP 5.0框架設(shè)計(jì)開(kāi)發(fā),Vue作為前端開(kāi)發(fā)框架,ThinkPHP 5.0作為后端開(kāi)發(fā)框

      架,底層數(shù)據(jù)庫(kù)使用MySQL數(shù)據(jù)庫(kù)。系統(tǒng)使用MVC設(shè)計(jì)模式,前后端分離技術(shù)、Vue開(kāi)發(fā)視圖層(View)、ThinkPHP

      5.0開(kāi)發(fā)模型層(Model)和控制層(Controller),通過(guò)Axios連接系統(tǒng)前后端。

      2.1.2? 系統(tǒng)流程概述

      進(jìn)入系統(tǒng)時(shí),任何用戶都會(huì)先進(jìn)入面向大眾的用戶界面,可以查看地震數(shù)據(jù)及相關(guān)數(shù)據(jù)分析結(jié)果。地震工作者和管理員通過(guò)登錄進(jìn)入面向地震工作者的后臺(tái)系統(tǒng),地震工作人員和專家通過(guò)在該系統(tǒng)下上傳或下載地震基礎(chǔ)地理數(shù)據(jù),制作地震專題圖,最后發(fā)布專題圖,管理員可以在該系統(tǒng)下進(jìn)行用戶權(quán)限修改以及對(duì)專家已發(fā)布的專題圖進(jìn)行撤回等操作。

      2.1.3? 系統(tǒng)用戶角色及權(quán)限劃分

      根據(jù)用戶身份的不同,將用戶劃分為如下幾類,并說(shuō)明用戶的相應(yīng)權(quán)限:

      (1)系統(tǒng)超級(jí)管理員:擁有所有權(quán)限;

      (2)地震工作管理員:擁有查看專題圖制作人員發(fā)布的專題圖、撤回已經(jīng)發(fā)布的專題圖、地震基礎(chǔ)地理數(shù)據(jù)上傳的權(quán)限;

      (3)地震專題圖制作成員:在專題圖未發(fā)布前擁有專題圖的制作、修改、刪除、查看,地震基礎(chǔ)地理數(shù)據(jù)下載的權(quán)限;

      (4)普通用戶:只擁有查看用戶界面數(shù)據(jù)的權(quán)限。

      2.1.4? 系統(tǒng)權(quán)限管理模塊的選擇

      目前主流的權(quán)限系統(tǒng)模塊有五種:RBAC、ACL、DAC、MAC、ABAC,分別對(duì)應(yīng)不同的應(yīng)用場(chǎng)景,其他四種模型的介紹及使用場(chǎng)景如下:

      (1)訪問(wèn)控制列表(ACL)規(guī)定資源可以被哪些主體進(jìn)行哪些操作,在ACL權(quán)限模型下,權(quán)限管理是圍繞資源來(lái)設(shè)定的。系統(tǒng)可以針對(duì)不同頁(yè)面設(shè)定可以訪問(wèn)的用戶,該模型適用于部門(mén)隔離場(chǎng)景下的權(quán)限管理;

      (2)自主訪問(wèn)控制(DAC)規(guī)定資源可以被哪些主體進(jìn)行哪些操作,同時(shí),主體可以將資源、操作的權(quán)限,授予其他主體。該模型將授權(quán)的權(quán)力下放,允許擁有權(quán)限的用戶,可以自主地將權(quán)限授予其他用戶,該模型適合文件系統(tǒng)場(chǎng)景下的權(quán)限管理;

      (3)強(qiáng)制訪問(wèn)控制(MAC)規(guī)定,當(dāng)一個(gè)操作同時(shí)滿足規(guī)定資源可以被哪些類別的主體進(jìn)行哪些操作與規(guī)定,資源可以被哪些類別的主體進(jìn)行哪些操作時(shí),允許操作。MAC強(qiáng)調(diào)安全性,在系統(tǒng)中會(huì)對(duì)資源與主體,都劃分類別與等級(jí),該模型適合保密系統(tǒng)場(chǎng)景下的權(quán)限管理;

      (4)基于屬性的訪問(wèn)控制(ABAC)規(guī)定哪些屬性的主體可以對(duì)哪些屬性的資源在哪些屬性的情況下進(jìn)行哪些操作。ABAC可以發(fā)揮權(quán)限系統(tǒng)最大的靈活性,但在靈活的同時(shí),如果不對(duì)策略加以管理,也有可維護(hù)性的問(wèn)題,該模型適用于防火墻場(chǎng)景下的權(quán)限管理。

      本系統(tǒng)的核心部分是數(shù)據(jù),所以滿足本系統(tǒng)需要的權(quán)限管理應(yīng)該是可以對(duì)數(shù)據(jù)進(jìn)行不同劃分及有效的管理。通過(guò)對(duì)比五種不同的模型及實(shí)際系統(tǒng)需求,最終本系統(tǒng)選擇RBAC作為系統(tǒng)的權(quán)限管理模型。

      2.2? RBAC在系統(tǒng)中的具體實(shí)現(xiàn)

      2.2.1? 系統(tǒng)數(shù)據(jù)庫(kù)表設(shè)計(jì)

      本系統(tǒng)在RBAC基本概念的基礎(chǔ)上對(duì)數(shù)據(jù)庫(kù)表的設(shè)計(jì)做了優(yōu)化,設(shè)計(jì)了三張數(shù)據(jù)庫(kù)表,分別是:用戶表(User)、角色表(Role)、權(quán)限表(Permission)。用戶表設(shè)有用戶的唯一標(biāo)識(shí)userid字段,角色表設(shè)有角色的唯一標(biāo)識(shí)roleid字段以及關(guān)聯(lián)用戶表中的userid字段,權(quán)限表中設(shè)有權(quán)限(permission)字段以及關(guān)聯(lián)角色表中的roleid字段。

      2.2.2? 權(quán)限管理實(shí)現(xiàn)流程

      用戶登錄時(shí)緩存用戶登錄信息,后臺(tái)獲取緩存中用戶的登錄信息,通過(guò)用戶的登錄賬號(hào),在User表中查找用戶userid,通過(guò)userid在Role表中查找用戶roleid,通過(guò)roleid在Permission表中使用ThinkPHP 5.0模糊查詢,查找是否有相應(yīng)的操作權(quán)限,如果有,當(dāng)用戶在前臺(tái)觸發(fā)相應(yīng)事件時(shí),執(zhí)行該權(quán)限,如果沒(méi)有,則返回“nopermission”,在前臺(tái)不顯示該操作。

      2.2.3? 專題圖撤回權(quán)限管理接口的實(shí)現(xiàn)

      本系統(tǒng)使用ThinkPHP 5.0作為后端開(kāi)發(fā)框架,基于ThinkPHP 5.0實(shí)現(xiàn)了權(quán)限管理的接口,下文詳細(xì)介紹了地震工作管理員與專題圖制作成員在地震專題圖撤回操作所進(jìn)行的權(quán)限管理,擁有專題圖撤回權(quán)限的是地震工作管理員,專題圖制作成員無(wú)此權(quán)限,核心代碼如下:

      //專題圖撤回

      public function recall($data)

      {

      //撤回權(quán)限對(duì)應(yīng)的值為recall

      $recallvalue = "recall";

      //獲取緩存里的值得到用戶的登錄賬號(hào)信息

      $cachevalue = Cache::get(‘useridentity);

      //根據(jù)獲取到的用戶登錄賬號(hào)查找用戶表里該用戶的userid

      $Uservalue=Db::table(‘User)->where(‘useraccount,$cachevalue[‘usera])->find();

      //根據(jù)獲取到的userid查找角色表里該用戶的roleid

      $Rolevalue=Db::table(‘Role)->where(‘userid,$Uservalue[‘userid])->find();

      //根據(jù)獲取到的roleid查找權(quán)限表里該角色的權(quán)限,同時(shí)使用ThinkPHP5.0的模糊查詢,查看是否有撤回專題圖的權(quán)限

      $Permissionvalue=Db::table(‘Permission)->where(‘roleid,$Rolevalue[‘roleid])->where(‘permission,like,"%".$recallvalue."%")->find();

      //判斷$Permissionvalue是否為空

      if ($Permissionvalue)

      {

      //若該用戶有撤回專題圖的權(quán)限,則撤回專題圖,并返回"專題圖撤回成功"

      Db::table(‘Thematicmap)->where(‘mapid,$data [‘idvalue])->delete();

      return "專題圖撤回成功";

      }else

      {

      //若該用戶沒(méi)有撤回專題圖的權(quán)限,則返回"您沒(méi)有撤回專題圖操作的權(quán)限"

      return "nopermission";

      }

      }

      3? 結(jié)? 論

      權(quán)限管理作為ERP系統(tǒng)的核心部分受到廣泛研究與應(yīng)用,基于角色的訪問(wèn)控制作為當(dāng)下比較流行的一種權(quán)限管理方案,能夠很好地解決復(fù)雜ERP系統(tǒng)的權(quán)限管理問(wèn)題。本文詳細(xì)介紹了RBAC在地震數(shù)據(jù)共享平臺(tái)系統(tǒng)中設(shè)計(jì)與實(shí)現(xiàn),該權(quán)限管理的實(shí)現(xiàn),有效降低了系統(tǒng)權(quán)限管理的復(fù)雜性,很好地解決了本系統(tǒng)面向多用戶、重要數(shù)據(jù)的保密等眾多高級(jí)別要求。

      參考文獻(xiàn):

      [1] 范小康,何連躍,王曉川,等.一種基于RBAC模型的角色管理方法 [J].計(jì)算機(jī)研究與發(fā)展,2012,49(S1):211-215.

      [2] 冀汶莉.基于RBAC模型的權(quán)限管理系統(tǒng)的研究與應(yīng)用 [J].微電子學(xué)與計(jì)算機(jī),2007(8):86-88.

      [3] 倪東英,張曉麗.基于RBAC的用戶權(quán)限管理的設(shè)計(jì)與實(shí)現(xiàn) [J].濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,24(2):167-171.

      [4] 湯文亮,李科.基于RBAC模型的權(quán)限管理改進(jìn)研究與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(5):1181-1186+1232.

      [5] 羅鈞,趙傳智,汪飛.基于RBAC模型的權(quán)限高效管理方法 [J].計(jì)算機(jī)研究與發(fā)展,2016,53(5):1000-1008.

      [6] 張凱,仲梁維.基于RBAC的權(quán)限管理在銷(xiāo)售合同管理系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn) [J].制造業(yè)自動(dòng)化,2012,34(4):28-30.

      作者簡(jiǎn)介:張?chǎng)危?000.12-),男,漢族,安徽蕪湖人,本科,學(xué)士學(xué)位,研究方向:人工智能和軟件開(kāi)發(fā)。

      猜你喜歡
      訪問(wèn)控制模型用戶
      您撥打的用戶已戀愛(ài),請(qǐng)稍后再哭
      自制空間站模型
      基于用戶和電路的攻擊識(shí)別方法
      云的訪問(wèn)控制研究
      信用卡資深用戶
      模型小覽(二)
      云計(jì)算訪問(wèn)控制技術(shù)研究綜述
      圓周運(yùn)動(dòng)與解題模型
      離散型隨機(jī)變量分布列的兩法則和三模型
      校園骨干層網(wǎng)絡(luò)交換機(jī)的訪問(wèn)控制技術(shù)
      赤壁市| 都安| 定日县| 胶南市| 达拉特旗| 安岳县| 金平| 铁力市| 汾阳市| 博罗县| 尉氏县| 西畴县| 舒兰市| 方城县| 安多县| 中山市| 陇西县| 张掖市| 西贡区| 高安市| 聊城市| 五华县| 城市| 礼泉县| 宿迁市| 石嘴山市| 云梦县| 商河县| 七台河市| 泊头市| 韶关市| 土默特左旗| 松原市| 称多县| 平原县| 遂昌县| 南郑县| 晴隆县| 余江县| 龙陵县| 张家界市|