在线不卡视频一区二区_91免费在线观看网站_国产视频在线看_91精品国产色综合久久

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

在系統(tǒng)登錄模塊中,常見這樣的問題場景:系統(tǒng)用戶有不同的用戶身份,不同身份的用戶登錄進系統(tǒng)后只能看到自己對應權限的功能菜單,系統(tǒng)管理員可以方便對用戶進行授權以及取消權限。

實現(xiàn)這樣一個功能模塊通常使用基于角色的權限訪問控制,即RBAC(Role Based Access Control)模型。RBAC模型是實現(xiàn)權限資源管理控制的一個普遍通用的模型。

RBAC簡介

基于角色的訪問控制(RBAC)是實現(xiàn)軟件系統(tǒng)安全策略的一種有效的訪問控制方式。其基本思想是,對系統(tǒng)操作的各種權限不是直接授予具體的用戶,而是在用戶集合與權限集合之間建立一個角色集合。每一種角色對應一組相應的權限。一旦用戶被分配了適當?shù)慕巧螅撚脩艟蛽碛写私巧乃胁僮鳈嘞蕖?/p>

注:ACL模型,即訪問控制列表,一般是指將用戶與權限直接關聯(lián)起來的權限管理方式。

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

RBAC通過定義角色的權限,并對用戶授予某個角色從而來控制用戶的權限,實現(xiàn)了用戶和權限的邏輯分離(區(qū)別于ACL模型),這樣做的好處是,不必在每次創(chuàng)建用戶時都進行分配權限的操作,只要分配用戶相應的角色即可,同樣地,要對用戶取消權限時,只需要取消用戶與角色的關聯(lián)。通常來講,角色的權限相對穩(wěn)定,對角色權限變更比用戶權限變更要少得多,所以,RBAC簡化了用戶的權限管理。

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

資源是指系統(tǒng)中可訪問的模塊、功能等可分配的權限的集合。

角色是指真實場景中的某一類用戶,比如系統(tǒng)管理員、普通員工、部門經(jīng)理、財務主管等等,通常不同的角色具有不同的權限。角色可以根據(jù)需要自由創(chuàng)建,角色總是對應一組資源。

用戶是指可訪問系統(tǒng)的人,一般每個用戶都有唯一的UID識別,用戶可以被授予不同角色。

例如,有一個“公告管理”功能,使用者的角色有兩種:管理員和普通用戶。管理員和普通用戶被授予不同權限,管理員擁有該功能模塊的所有權限,而普通用戶只有部分權限:

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

RBAC有4個模型概念,分別是RBAC0、RBAC1、RBAC2、RBAC3。

  • RBAC0為基礎模型,即本文前面介紹的內(nèi)容。主要有3個元素:用戶、角色、權限(資源)。用戶與角色、角色與權限之間都是多對多的關系。
  • RBAC1是在RBAC0的基礎上,增加了角色間的繼承關系。這種繼承關系可以是多繼承,也可以是單繼承。適用于角色之間層次分明,可以給角色分組分層的場景。
  • RBAC2是在RBAC0的基礎上,增加了角色間的約束關系。比如互斥約束,同一用戶只能分配到一組互斥角色集合中的一個角色;基數(shù)約束,一個角色被分配到的用戶數(shù)量受限,一個用戶可擁有的角色數(shù)量受限,一個角色可以擁有的權限資源受限;先決條件約束,僅當用戶已經(jīng)擁有某一角色時才能給他分配另一種角色,對于角色來講當某一角色擁有某些權限的時候才能給該角色分配另一些權限。運行互斥約束,一個用戶擁有兩個角色,但在運行中不可同時激活這兩種角色。
  • RBAC3是RBAC1和RBAC2的組合運用。

可以看到,重點是RBAC基礎模型,其他幾種主要是對角色這個元素的擴充,以適應特定的業(yè)務場景。對于絕大多數(shù)場景來說,RBAC基礎模型就可以滿足。

數(shù)據(jù)庫表

實現(xiàn)一個基于RBAC模型的登錄模塊功能,一般需要5張基本數(shù)據(jù)庫表,分別是:用戶表、資源表(系統(tǒng)模塊菜單及功能表)、角色表、用戶角色關聯(lián)表、角色權限表。

本文講解的示例是基于RBAC基礎模型,同時從功能完備性和易于實現(xiàn)方面考慮,給出了7張表。在以上5張表的基礎上,增加了用戶權限表、功能項常量表。

示例中只給出了各個表的一些主要字段,具體使用可根據(jù)需要增減。比如一般常用于審計的create_time、update_time、create_by、update_by等字段。

1、用戶表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

用戶表存儲可登錄系統(tǒng)的賬號信息。

  • user_code: 用戶登錄賬號,在表中唯一性約束。本例中user_code字段作為UID標識字段。
  • password:用戶登錄密碼,安全性考慮,一般存儲密文。

2、菜單資源表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

菜單權限表存儲系統(tǒng)所有的功能項,包括各級菜單以及與之相對應的操作權限點。這個表反映了系統(tǒng)的全部功能集合,一般由開發(fā)人員或運維人員進行維護。

  • menu_code: 菜單項編碼,系統(tǒng)內(nèi)部使用,在表中唯一性約束,標識一個具體的菜單項。菜單項編碼可以按照一定的規(guī)則編碼,比如一級菜單m01、m02,二級菜單m0101、m0102、m0201、……,按照這樣的規(guī)則,可以根據(jù)編碼識別出菜單級別。
  • menu_name: 用于在系統(tǒng)界面上展示的菜單項名稱。
  • parent:上級菜單標識。比如m0201的上級為m02。
  • url: 菜單項對應的鏈接地址。
  • icon:菜單項圖標對應的鏈接地址。
  • display_order: 菜單項在系統(tǒng)界面上展示的順序,SQL查詢時,根據(jù)該字段order by排序。
  • function_code: 存儲某一菜單項對應的全部功能點代碼。比如insert;update;query;delete; 功能點代碼來自于下文第7個表。

3、角色表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

角色表存儲用戶創(chuàng)建的角色。

  • role_code: 角色代碼,唯一標識一個角色,在表中有唯一性約束。
  • role_name: 角色名稱。

4、角色權限表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

角色權限表存儲角色與權限(資源)的映射關系,多對多關系。

  • role_code:引用自角色表中的role_code字段。
  • menu_code:引用自菜單資源表menu_code字段。
  • function_code:字段內(nèi)容與菜單資源表function_code字段內(nèi)容相似。比如菜單資源表該字段內(nèi)容為insert;update;query;delete,但某個角色不具有對應菜單功能的刪除操作,則function_code字段內(nèi)容為 insert;update;query。

5、用戶角色表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

用戶角色表存儲用戶與角色的映射關系,多對多關系。

  • user_code:引用自用戶表user_code字段。
  • role_code:引用自角色表role_code字段。

以上5張表即是RBAC基礎模型所必須的表。

6、用戶權限表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

用戶權限表存儲用戶與權限(資源)的映射關系,多對多關系。

增加此表的作用是為了實現(xiàn)一個通用的權限管理功能,既可以通過角色給用戶授權,也可以通過給用戶直接綁定權限授權。即兼容RBAC模型與ACL模型。

在一些系統(tǒng)中,當存在一人多崗,用戶數(shù)量較少,但角色數(shù)量需要較多,這種情況使用ACL模型更為方便。

  • user_code:引用自用戶表user_code字段。
  • menu_code:引用自菜單資源表menu_code字段。
  • function_code:字段內(nèi)容與菜單資源表function_code字段內(nèi)容相似。比如菜單資源表該字段內(nèi)容為insert;update;query;delete,但某個用戶不具有對應菜單功能的刪除操作,則function_code字段內(nèi)容為 insert;update;query。

7、功能項常量表

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

功能項常量表存儲的內(nèi)容如下:

什么是基于角色訪問控制(RBAC)技術?詳解rbac權限管理的實現(xiàn)方法

功能項常量表存儲功能點代碼與名稱的對應信息。主要用于維護上面表中function_code字段功能點對應的功能名稱。

  • function_code:具體功能代碼,如“新增”代碼為insert,“刪除”代碼為delete。唯一標識一個功能操作,在表中唯一性約束。
  • function_name:功能代碼對應的在系統(tǒng)界面展示的功能名稱。

上面表中function_code是多個功能點代碼用分號(??拼接起來存儲的,具體代碼實現(xiàn)時對字符串分割后可以對應此表得到功能點名稱。

這樣設計是一個小的技巧,以簡化功能菜單表存儲的內(nèi)容,以及簡化權限與角色、與用戶的映射。

實現(xiàn)要點

在理解清楚這些表之后,以下列出幾個實現(xiàn)要點。

  • 將系統(tǒng)菜單功能錄入菜單表。注意menu_code、function_code的編碼規(guī)則。
  • 將系統(tǒng)中全部的功能點錄入功能項常量表。
  • 實現(xiàn)用戶管理,對用戶表的單表操作。
  • 實現(xiàn)角色管理,對角色表的單表操作。
  • 實現(xiàn)用戶角色設置功能,對用戶角色表操作,根據(jù)所選擇的用戶執(zhí)行先delete后insert數(shù)據(jù),在同一數(shù)據(jù)庫事務中處理。
  • 實現(xiàn)角色權限設置功能,對角色權限表操作,根據(jù)所選擇的角色執(zhí)行先delete后insert數(shù)據(jù),在同一數(shù)據(jù)庫事務中處理。
  • 實現(xiàn)用戶權限設置功能,對用戶權限表操作,根據(jù)所選擇的用戶執(zhí)行先delete后insert數(shù)據(jù),在同一數(shù)據(jù)庫事務中處理。
  • 在查詢用戶權限時,要同時查詢用戶權限以及用戶所具有角色的權限,這兩者的數(shù)據(jù)可能存在重復,例如:用戶權限表維護了用戶A具有“公告管理”的權限,同時用戶A具有的角色“普通用戶”也具有“公告管理”的權限,此時,在后端接口中去重處理即可。

聲明:本文由網(wǎng)站用戶維維發(fā)表,超夢電商平臺僅提供信息存儲服務,版權歸原作者所有。若發(fā)現(xiàn)本站文章存在版權問題,如發(fā)現(xiàn)文章、圖片等侵權行為,請聯(lián)系我們刪除。

(0)
上一篇 2023年9月5日 11:40:44
下一篇 2023年9月5日 11:44:42

相關推薦

發(fā)表回復

您的電子郵箱地址不會被公開。 必填項已用*標注

在线不卡视频一区二区_91免费在线观看网站_国产视频在线看_91精品国产色综合久久
亚洲激情小视频| 香蕉av777xxx色综合一区| 亚洲性线免费观看视频成熟| 亚洲福利视频一区二区| 国内精品久久久久久久影视蜜臀| 国产农村妇女毛片精品久久莱园子| 国产精品ⅴa在线观看h| 欧美日韩亚洲一区二区三区在线观看 | 久久国产精品久久国产精品| 校园激情久久| 欧美一区二区三区免费视| 午夜精品成人在线| 亚洲欧美日韩在线不卡| 亚洲欧美综合国产精品一区| 欧美一级黄色录像| 欧美亚洲色图校园春色| 午夜精品亚洲一区二区三区嫩草| 亚洲欧美一区二区三区久久| 午夜视频一区二区| 欧美一级午夜免费电影| 欧美专区日韩视频| 亚洲第一主播视频| 亚洲欧洲视频在线| 日韩视频永久免费| 亚洲午夜国产一区99re久久| 午夜精品福利视频| 欧美中文字幕久久| 浪潮色综合久久天堂| 欧美成人综合| 国产精品99一区| 国产欧美一区二区三区国产幕精品| 国产视频精品免费播放| 欲色影视综合吧| 亚洲国产美女| 一区二区三区日韩在线观看 | 亚洲在线观看视频| 亚洲欧美激情在线视频| 性做久久久久久免费观看欧美| 久久精品国产99精品国产亚洲性色 | 国产精品久久久久久久久久ktv| 国产乱码精品一区二区三区五月婷| 国产日韩欧美精品综合| 一区二区三区中文在线观看| 亚洲人成网站999久久久综合| 中文精品99久久国产香蕉| 午夜欧美精品| 亚洲欧洲精品一区二区| 一区二区三区日韩在线观看| 欧美在线日韩在线| 欧美激情精品久久久久久免费印度| 欧美日韩视频一区二区| 国产日产欧美一区| 亚洲高清激情| 亚洲与欧洲av电影| 亚洲精品精选| 香蕉乱码成人久久天堂爱免费 | 欧美 亚欧 日韩视频在线| 欧美视频精品一区| 国产性天天综合网| 亚洲精品在线观看免费| 亚洲欧美日韩国产成人| 亚洲欧洲精品一区二区三区波多野1战4 | 在线成人亚洲| 国产日韩在线不卡| 在线观看视频欧美| 一本色道久久综合| 欧美在线综合视频| 日韩亚洲精品视频| 欧美在线一二三区| 欧美激情一区二区三区高清视频 | 欧美国产精品一区| 国产农村妇女精品一区二区| 91久久精品国产91久久性色| 欧美一区=区| 亚洲私人影院在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日本亚洲视频| 一区二区在线不卡| 中文欧美日韩| 亚洲卡通欧美制服中文| 久久久精品日韩| 国产精品久久久久久久久果冻传媒| 亚洲国产精品专区久久| 欧美在线首页| 亚洲欧美在线免费| 欧美欧美全黄| 精品不卡在线| 午夜精品久久久久久久男人的天堂| 一区二区三区|亚洲午夜| 免费久久精品视频| 国产一区二区高清| 亚洲图中文字幕| 亚洲美女啪啪| 免费久久99精品国产自| 国产欧美一区二区精品性| 99精品国产在热久久| 亚洲欧洲视频| 久色成人在线| 国产亚洲精品久| 亚洲欧美国产高清| 亚洲性xxxx| 欧美激情无毛| 亚洲国产国产亚洲一二三| 亚洲电影成人| 久久免费视频在线| 国产日韩精品电影| 亚洲一级免费视频| 亚洲免费在线视频| 欧美午夜影院| 一区二区三区精品在线| 这里是久久伊人| 欧美精品一区二区三| 亚洲欧洲一区二区天堂久久 | 久久激情视频久久| 久久久久久久综合日本| 国产欧美 在线欧美| 亚洲欧美视频在线观看视频| 亚洲欧美日韩直播| 国产精品多人| 亚洲性xxxx| 午夜日本精品| 国产欧美日韩一区二区三区在线观看 | 欧美婷婷在线| 中国成人亚色综合网站| 在线综合亚洲欧美在线视频| 欧美日韩精品综合在线| 日韩视频免费大全中文字幕| 一本色道久久综合狠狠躁的推荐| 欧美精品aa| 日韩亚洲视频| 亚洲一区二区成人| 国产精品久久久久毛片软件| 亚洲性xxxx| 久久精品官网| 激情成人综合| 亚洲激情综合| 欧美精品亚洲一区二区在线播放| 日韩小视频在线观看专区| 亚洲影视在线播放| 国产精品私拍pans大尺度在线| 亚洲欧美激情一区| 久久久久久久久久久久久9999| 狠狠色丁香久久综合频道| 亚洲国产日韩在线| 欧美另类专区| 亚洲少妇中出一区| 久久成人18免费网站| 狠狠色狠狠色综合日日五| 亚洲激情视频在线观看| 欧美日韩亚洲另类| 亚洲一区二区三区在线| 久久久久久亚洲精品杨幂换脸 | 亚洲欧美日本日韩| 久久精品综合一区| 亚洲国产精品久久91精品| 9色精品在线| 国产精品入口麻豆原神| 欧美一区日韩一区| 欧美成人视屏| 在线亚洲欧美| 久久精品91久久久久久再现| 亚洲国产精品va在看黑人| 亚洲私人影院在线观看| 国产性做久久久久久| 亚洲精品日本| 国产精品久久久久久久久搜平片 | 激情综合网址| 中日韩视频在线观看| 国产欧美大片| 最新中文字幕亚洲| 欧美性久久久| 亚洲国产1区| 欧美午夜视频| 欧美一区二区三区免费视| 欧美精品福利视频| 亚洲欧美资源在线| 欧美精品色综合| 午夜精品美女久久久久av福利| 欧美成人dvd在线视频| 亚洲一区二区在线播放| 欧美xxx在线观看| 亚洲欧美日韩综合| 欧美日韩成人一区二区三区| 性欧美激情精品| 欧美日韩精品在线视频| 欧美在线观看视频在线| 欧美日韩中文| 久久精品一区二区三区四区| 欧美午夜精品久久久久久超碰| 亚洲二区在线| 国产欧美日韩三区| 一区二区三区成人精品| 国色天香一区二区| 亚洲欧美日韩精品一区二区| 亚洲高清毛片| 久久久成人网| 亚洲一区在线免费观看| 欧美猛交免费看| 亚洲国产高清自拍| 国产日产欧美一区|