在线不卡视频一区二区_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精品国产色综合久久
99在线精品视频| 久久久福利视频| 久久精品夜色噜噜亚洲a∨| 亚洲午夜精品久久| 日韩午夜电影在线观看| 最近看过的日韩成人| 亚洲电影网站| 在线欧美亚洲| 亚洲第一色在线| 亚洲成人自拍视频| 狠狠爱综合网| 黑人一区二区| 激情91久久| 精品电影在线观看| 1000精品久久久久久久久| 亚洲电影免费观看高清完整版在线观看 | 欧美色网在线| 欧美日韩国产一区二区三区| 欧美日本二区| 欧美日韩在线高清| 国产精品护士白丝一区av| 国产精品一区一区三区| 国产日韩欧美制服另类| 国产一区视频观看| 在线精品亚洲| 91久久亚洲| 一本色道久久综合亚洲精品不| 在线视频欧美一区| 中文在线一区| 亚洲欧美日韩精品久久奇米色影视| 亚洲在线一区二区| 欧美一区观看| 亚洲国产天堂久久国产91| 亚洲激情成人网| 亚洲精品国产精品国自产观看浪潮 | 欧美日韩国产首页| 国产精品久久久久久妇女6080 | 国产婷婷色一区二区三区| 国产自产精品| 亚洲精品久久久久久久久久久久久 | 亚洲美女中文字幕| 亚洲伊人一本大道中文字幕| 欧美一区二区三区视频在线观看 | 欧美性猛交xxxx乱大交退制版| 国产精品亚洲产品| 国内精品久久久久国产盗摄免费观看完整版| 黄色一区二区三区| 亚洲人体1000| 亚洲女人天堂成人av在线| 亚洲第一中文字幕在线观看| 99这里有精品| 久久国产综合精品| 欧美激情五月| 国产欧美日韩亚州综合| 在线成人性视频| 一区二区三区色| 亚洲大片在线| 亚洲欧美成人一区二区三区| 久久综合伊人77777| 欧美美女操人视频| 国产欧美在线看| 亚洲精品国产精品国自产观看浪潮 | 欧美日韩国产首页| 国产日韩av在线播放| 亚洲国产成人精品视频| 亚洲系列中文字幕| 亚洲人成在线播放| 欧美一区二区视频网站| 欧美激情第10页| 国产欧美一区二区精品性| 91久久精品日日躁夜夜躁国产| 亚洲一级二级在线| 亚洲精品国产视频| 久久av一区二区三区| 欧美日本韩国一区| 国产自产精品| 亚洲午夜精品久久久久久app| 亚洲精品久久久久中文字幕欢迎你 | 国产亚洲欧美日韩日本| 日韩午夜在线观看视频| 久久成人免费日本黄色| 亚洲综合激情| 欧美日本韩国一区二区三区| 一区二区三区在线免费播放| 亚洲欧美国产一区二区三区| 99精品热6080yy久久 | 精品91在线| 亚洲欧美视频在线观看视频| 一级日韩一区在线观看| 久久综合综合久久综合| 国产精品一区二区三区久久久 | 开元免费观看欧美电视剧网站| 国产精品乱码一区二三区小蝌蚪| 亚洲精品国产日韩| 久久精品夜色噜噜亚洲aⅴ| 午夜亚洲福利| 欧美三日本三级少妇三99| 亚洲成在线观看| 亚洲成人资源网| 欧美在线视频观看| 国产精品视频最多的网站| 99riav1国产精品视频| 亚洲精品小视频| 蜜臀va亚洲va欧美va天堂| 国产伪娘ts一区 | 久久精品国产第一区二区三区最新章节| 午夜精彩国产免费不卡不顿大片| 欧美精品在线一区二区| 亚洲成人直播| 亚洲欧洲一区二区在线播放| 欧美不卡激情三级在线观看| 韩国免费一区| 久久精品亚洲乱码伦伦中文| 久久久久综合| 国产亚洲欧洲| 欧美中文日韩| 久久人人超碰| 精品av久久久久电影| 欧美资源在线| 米奇777超碰欧美日韩亚洲| 国内精品久久久久影院色 | 亚洲欧美久久久久一区二区三区| 亚洲一区在线播放| 国产精品高精视频免费| 亚洲一级高清| 欧美一区二区三区在线| 国产三级精品在线不卡| 先锋影音一区二区三区| 久久久成人网| 在线播放视频一区| 亚洲精品综合| 欧美日韩精品是欧美日韩精品| 亚洲裸体视频| 亚洲综合色丁香婷婷六月图片| 国产精品区二区三区日本| 欧美一区二区观看视频| 久久午夜精品| 在线观看一区二区视频| 亚洲靠逼com| 欧美四级剧情无删版影片| 亚洲一区二区久久| 亚洲第一福利社区| 久久国产综合精品| 亚洲欧美另类在线| 小辣椒精品导航| 国产欧美日韩麻豆91| 性欧美暴力猛交另类hd| 久久久青草婷婷精品综合日韩 | 亚洲综合欧美日韩| 欧美在线视频不卡| 一区二区三区我不卡| 日韩一区二区精品| 国产精品国产a级| 久久av一区二区三区| 欧美日韩国产一区二区三区地区| 欧美插天视频在线播放| 亚洲高清激情| 一二三区精品福利视频| 国产精品初高中精品久久| 亚洲永久精品国产| 久久视频一区二区| 91久久精品国产91久久性色| 亚洲一区二区三区欧美| 国产久一道中文一区| 久久精品欧美| 欧美日韩亚洲不卡| 亚洲欧美激情视频| 欧美成人午夜剧场免费观看| 亚洲第一在线综合网站| 久久aⅴ国产欧美74aaa| 欧美v国产在线一区二区三区| 日韩一级不卡| 久久成人这里只有精品| 在线视频国内自拍亚洲视频| 亚洲一区二区三区777| 韩国成人精品a∨在线观看| 99精品视频网| 国产日韩一级二级三级| 亚洲理论在线观看| 国产精品婷婷| 亚洲日本激情| 国产欧美日韩中文字幕在线| 亚洲精品影视| 国产欧美日本一区视频| 亚洲精品一线二线三线无人区| 国产精品网站在线观看| 亚洲另类春色国产| 国产日韩av一区二区| 夜夜嗨av一区二区三区中文字幕 | 一区二区欧美日韩| 国产日韩欧美亚洲| 亚洲欧洲另类| 国产欧美日韩精品在线| 这里只有精品丝袜| 精品99一区二区| 午夜欧美不卡精品aaaaa| 亚洲黄色一区二区三区| 久久噜噜噜精品国产亚洲综合| 99视频精品在线| 欧美电影在线播放|