国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

超級全面的權限系統設計方案面世了

新聞 系統運維
權限管理是所有后臺系統的都會涉及的一個重要組成部分,主要目的是對不同的人訪問資源進行權限的控制,避免因權限控制缺失或操作不當引發的風險問題,如操作錯誤,隱私數據泄露等問題。

權限系統設計

前言

權限管理是所有后臺系統的都會涉及的一個重要組成部分,主要目的是對不同的人訪問資源進行權限的控制,避免因權限控制缺失或操作不當引發的風險問題,如操作錯誤,隱私數據泄露等問題。

目前在公司負責權限這塊,所以對權限這塊的設計比較熟悉,公司采用微服務架構,權限系統自然就獨立出來了,其他業務系統包括商品中心,訂單中心,用戶中心,倉庫系統,小程序,多個APP等十幾個系統和終端

1.權限模型

迄今為止最為普及的權限設計模型是RBAC模型,基于角色的訪問控制(Role-Based Access Control)

1.1 RBAC0模型

RBAC0模型如下:

不是我吹!超級全面的權限系統設計方案面世了

這是權限最基礎也是最核心的模型,它包括用戶/角色/權限,其中用戶和角色是多對多的關系,角色和權限也是多對多的關系。

用戶是發起操作的主體,按類型分可分為2B和2C用戶,可以是后臺管理系統的用戶,可以是OA系統的內部員工,也可以是面向C端的用戶,比如阿里云的用戶。

角色起到了橋梁的作用,連接了用戶和權限的關系,每個角色可以關聯多個權限,同時一個用戶關聯多個角色,那么這個用戶就有了多個角色的多個權限。有人會問了為什么用戶不直接關聯權限呢?在用戶基數小的系統,比如20個人的小系統,管理員可以直接把用戶和權限關聯,工作量并不大,選擇一個用戶勾選下需要的權限就完事了。

但是在實際企業系統中,用戶基數比較大,其中很多人的權限都是一樣的,就是個普通訪問權限,如果管理員給100人甚至更多授權,工作量巨大。這就引入了"角色(Role)"概念,一個角色可以與多個用戶關聯,管理員只需要把該角色賦予用戶,那么用戶就有了該角色下的所有權限,這樣設計既提升了效率,也有很大的拓展性。

權限是用戶可以訪問的資源,包括頁面權限,操作權限,數據權限:

頁面權限:

即用戶登錄系統可以看到的頁面,由菜單來控制,菜單包括一級菜單和二級菜單,只要用戶有一級和二級菜單的權限,那么用戶就可以訪問頁面

操作權限:

即頁面的功能按鈕,包括查看,新增,修改,刪除,審核等,用戶點擊刪除按鈕時,后臺會校驗用戶角色下的所有權限是否包含該刪除權限,如果是,就可以進行下一步操作,反之提示無權限。

有的系統要求"可見即可操作",意思是如果頁面上能夠看到操作按鈕,那么用戶就可以操作,要實現此需求,這里就需要前端來配合,前端開發把用戶的權限信息緩存,在頁面判斷用戶是否包含此權限,如果有,就顯示該按鈕,如果沒有,就隱藏該按鈕。某種程度上提升了用戶體驗,但是在實際場景可自行選擇是否需要這樣做

數據權限:

數據權限就是用戶在同一頁面看到的數據是不同的,比如財務部只能看到其部門下的用戶數據,采購部只看采購部的數據,在一些大型的公司,全國有很多城市和分公司,比如杭州用戶登錄系統只能看到杭州的數據,上海用戶只能看到上海的數據,解決方案一般是把數據和具體的組織架構關聯起來.

舉個例子,再給用戶授權的時候,用戶選擇某個角色同時綁定組織如財務部或者合肥分公司,那么該用戶就有了該角色下財務部或合肥分公司下的的數據權限。

不是我吹!超級全面的權限系統設計方案面世了

以上是RBAC的核心設計及模型分析,此模型也叫做RBAC0,而基于核心概念之上,RBAC還提供了擴展模式。包括RBAC1,RBAC2,RBAC3模型。下面介紹這三種類型

1.2 RBAC1模型

不是我吹!超級全面的權限系統設計方案面世了

此模型引入了角色繼承(Hierarchical Role)概念,即角色具有上下級的關系,角色間的繼承關系可分為一般繼承關系和受限繼承關系。

一般繼承關系僅要求角色繼承關系是一個絕對偏序關系,允許角色間的多繼承。而受限繼承關系則進一步要求角色繼承關系是一個樹結構,實現角色間的單繼承。這種設計可以給角色分組和分層,一定程度簡化了權限管理工作。

1.3 RBAC2模型

基于核心模型的基礎上,進行了角色的約束控制,RBAC2模型中添加了責任分離關系,其規定了權限被賦予角色時,或角色被賦予用戶時,以及當用戶在某一時刻激活一個角色時所應遵循的強制性規則。責任分離包括靜態責任分離和動態責任分離。

主要包括以下約束:

互斥角色: 同一用戶只能分配到一組互斥角色集合中至多一個角色,支持責任分離的原則。互斥角色是指各自權限互相制約的兩個角色。比如財務部有會計和審核員兩個角色,他們是互斥角色,那么用戶不能同時擁有這兩個角色,體現了職責分離原則

基數約束: 一個角色被分配的用戶數量受限;一個用戶可擁有的角色數目受限;同樣一個角色對應的訪問權限數目也應受限,以控制高級權限在系統中的分配

先決條件角色: 即用戶想獲得某上級角色,必須先獲得其下一級的角色

1.4 RBAC3模型

即最全面的權限管理,它是基于RBAC0,將RBAC1和RBAC2進行了整合

1.5 用戶組

當平臺用戶基數增大,角色類型增多時,而且有一部分人具有相同的屬性,比如財務部的所有員工,如果直接給用戶分配角色,管理員的工作量就會很大,如果把相同屬性的用戶歸類到某用戶組,那么管理員直接給用戶組分配角色,用戶組里的每個用戶即可擁有該角色,以后其他用戶加入用戶組后,即可自動獲取用戶組的所有角色,退出用戶組,同時也撤銷了用戶組下的角色,無須管理員手動管理角色。

根據用戶組是否有上下級關系,可以分為有上下級的用戶組和普通用戶組:

具有上下級關系的用戶組: 最典型的例子就是部門和職位,可能多數人沒有把部門職位和用戶組關聯起來吧。當然用戶組是可以拓展的,部門和職位常用于內部的管理系統,如果是面向C端的系統,比如淘寶網的商家,商家自身也有一套組織架構,比如采購部,銷售部,客服部,后勤部等,有些人擁有客服權限,有些人擁有上架權限等等,所以用戶組是可以拓展的

普通用戶組: 即沒有上下級關系,和組織架構,職位都沒有關系,也就是說可以跨部門,跨職位,舉個例子,某電商后臺管理系統,有拼團活動管理角色,我們可以設置一個拼團用戶組,該組可以包括研發部的后臺開發人員,運營部的運營人員,采購部的人員等等。

每個公司都會涉及到到組織和職位,下面就重點介紹這兩個。

1.5.1 組織

常見的組織架構如下圖:

不是我吹!超級全面的權限系統設計方案面世了

我們可以把組織與角色進行關聯,用戶加入組織后,就會自動獲得該組織的全部角色,無須管理員手動授予,大大減少工作量,同時用戶在調崗時,只需調整組織,角色即可批量調整。組織的另外一個作用是控制數據權限,把角色關聯到組織,那么該角色只能看到該組織下的數據權限。

1.5.2 職位

假設財務部的職位如下圖:

不是我吹!超級全面的權限系統設計方案面世了

每個組織部門下都會有多個職位,比如財務部有總監,會計,出納等職位,雖然都在同一部門,但是每個職位的權限是不同的,職位高的擁有更多的權限。總監擁有所有權限,會計和出納擁有部分權限。特殊情況下,一個人可能身兼多職。

1.6 含有組織/職位/用戶組的模型

根據以上場景,新的權限模型就可以設計出來了,如下圖:

不是我吹!超級全面的權限系統設計方案面世了

根據系統的復雜度不同,其中的多對多關系和一對一關系可能會有變化

在單系統且用戶類型單一的情況下,用戶和組織是一對一關系,組織和職位是一對多關系,用戶和職位是一對一關系,組織和角色是一對一關系,職位和角色是一對一關系,用戶和用戶組是多對對關系,用戶組和角色是一對一關系,當然這些關系也可以根據具體業務進行調整。模型設計并不是死的,如果小系統不需要用戶組,這塊是可以去掉的。

分布式系統且用戶類型單一的情況下,到這里權限系統就會變得很復雜,這里就要引入了一個"系統"概念,此時系統架構是個分布式系統,權限系統獨立出來,負責所有的系統的權限控制,其他業務系統比如商品中心,訂單中心,用戶中心,每個系統都有自己的角色和權限,那么權限系統就可以配置其他系統的角色和權限。

分布式系統且用戶類型多個的情況下,比如淘寶網,它的用戶類型包括內部用戶,商家,普通用戶,內部用戶登錄多個后臺管理系統,商家登錄商家中心,這些做權限控制,如果你作為架構師,該如何來設計呢?大神可以在評論區留言交流哦!

2.授權流程

授權即給用戶授予角色,按流程可分為手動授權和審批授權。權限中心可同時配置這兩種,可提高授權的靈活性。

手動授權: 管理員登錄權限中心為用戶授權,根據在哪個頁面授權分為兩種方式:給用戶添加角色,給角色添加用戶。

給用戶添加角色就是在用戶管理頁面,點擊某個用戶去授予角色,可以一次為用戶添加多個角色;給角色添加用戶就是在角色管理頁面,點擊某個角色,選擇多個用戶,實現了給批量用戶授予角色的目的。

審批授權: 即用戶申請某個職位角色,那么用戶通過OA流程申請該角色,然后由上級審批,該用戶即可擁有該角色,不需要系統管理員手動授予。

3.表結構

有了上述的權限模型,設計表結構就不難了,下面是多系統下的表結構,簡單設計下,主要提供思路:

不是我吹!超級全面的權限系統設計方案面世了

4.權限框架

  • Apache Shrio
  • Spring Security

在項目中可以采用其中一種框架,它們的優缺點以及如何使用會在后面的文章中詳細介紹.

5.結語

權限系統可以說是整個系統中最基礎,同時也可以很復雜的,在實際項目中,會遇到多個系統,多個用戶類型,多個使用場景,這就需要具體問題具體分析,但最核心的RBAC模型是不變的,我們可以在其基礎上進行擴展來滿足需求。

最后,如果您覺得這篇文章對您有幫助,可以點個再看,謝謝支持!

 

責任編輯:張燕妮 來源: 博客園
相關推薦

2025-03-03 00:45:00

2022-07-05 09:38:47

模型RBACABAC

2009-10-19 14:39:10

2024-10-17 08:26:53

ELKmongodb方案

2009-07-06 13:57:35

設計方案

2009-09-25 16:54:02

機房UPS供電系統

2009-10-15 14:21:57

大樓綜合布線系統

2009-10-14 13:19:20

2010-06-05 18:23:15

2010-09-08 16:17:37

SIP協議棧

2012-07-11 10:49:34

鮑爾默Surface

2009-10-19 13:50:57

布線設計方案

2009-10-12 16:50:00

2011-05-17 09:15:45

布線光纖快速以太網

2019-03-13 16:09:47

VMware虛擬化服務器

2009-10-14 12:56:19

2025-09-29 02:00:00

2012-08-21 09:42:24

設計架構設計原則

2009-02-09 10:41:00

IP城域網設計規劃

2009-11-19 15:43:02

路由器設計
點贊
收藏

51CTO技術棧公眾號

亚洲欧美日韩综合国产aⅴ| 欧美成人影院| 国产精品亚洲午夜一区二区三区 | 国产亚洲精品aa| 亚洲精品一区二区三区四区五区| 国产日韩欧美中文在线| 国产精品.com| 91破解版在线观看| 丝袜脚交一区二区| 波多野结衣中文字幕一区| 久久国内精品一国内精品| 欧洲美女免费图片一区| 在线观看免费污视频| 精品国产一区二区三区性色av | 羞羞答答成人影院www| 日本二三区不卡| 成人免费淫片免费观看| 樱桃成人精品视频在线播放| 97免费在线视频| 国产乱码精品一区二三赶尸艳谈| 一级在线免费视频| 一区二区三区在线| 精品国产乱码久久久久久久| 中文在线手机av| 亚洲五码中文字幕| 久久久久久久久久久视频| 99精品久久只有精品| jizz18女人| 中文字幕精品一区二区三区精品| 天堂√在线观看一区二区| 国产精品综合久久| 黄在线观看网站| 色8久久精品久久久久久蜜| 亚洲男人av电影| 中国在线观看免费国语版电影 | 黄色亚洲免费| 久久天天狠狠| 欧美久久九九| 婷婷无套内射影院| 99re视频精品| 亚洲国产精华液| 亚洲国产欧美一区二区三区久久| 中文字幕伦理免费在线视频 | 精品亚洲porn| www欧美激情| 91麻豆精品国产自产在线观看一区| 日本在线啊啊| 亚洲欧美一区二区激情| 日韩成人一级| 久久免费视频2| 欧美性猛交xxxx黑人猛交| 综合日韩av| 91亚洲精华国产精华| 蜜桃av一区二区在线观看| 15—17女人毛片| 亚洲欧美日韩直播| 欧美a在线观看| 国产精品区免费视频| 免费观看在线综合| 色噜噜狠狠一区二区| 欧美日韩中文在线观看| 麻豆精品久久| 成人一区二区三| 日韩三区在线观看| 亚洲成人免费| 中文字幕免费在线| 欧美成人在线免费| 99国产麻豆精品| av漫画网站在线观看| 亚洲精品8mav| 亚洲伊人久久综合| 清纯唯美亚洲综合一区| 茄子视频成人在线观看 | 成人网男人的天堂| 黄页网站免费在线观看| 精品国产乱码久久久久久图片| 久久人体av| 不卡一区二区三区视频| av一区二区三区在线| 99视频在线观看地址| 午夜免费在线观看精品视频| 97**国产露脸精品国产| 免费在线观看一级毛片| 在线观看精品国产视频| 欧美有码视频| 久久婷婷国产91天堂综合精品| 欧美裸体一区二区三区| 羞羞色国产精品网站| 9l视频自拍9l视频自拍| 色综合天天在线| 一区二区免费| 久久久精品黄色| 欧美1234区| 国产一区二区三区黄视频| 久久人体av| 在线播放国产一区二区三区| 欧美在线视屏| xxx国产在线观看| 亚洲精品少妇网址| 亚洲视屏一区| 性生大片免费观看性| 色悠悠国产精品| 老司机精品久久| 国产日韩精品在线看| 国内免费精品永久在线视频| 国产精品一区专区| a在线免费观看| julia一区二区中文久久94| 1000部国产精品成人观看| av一级久久| 日韩xxxx视频| 日韩av中文字幕在线播放| 99国产精品久久久久久久| 中文字幕在线影视资源| 国产69精品久久久| 26uuu亚洲| 免费一级欧美在线观看视频| 色噜噜狠狠一区二区三区| 欧美性感一区二区三区| 91精品国产麻豆国产在线观看| 国产视频一二区| 欧美一区第一页| 亚洲另类在线视频| 欧美欧美黄在线二区| 九色porn| 国产精品中文字幕久久久| 洋洋av久久久久久久一区| 久久激情av| 超碰成人福利网| 777精品视频| 亚洲综合一二三区| 欧美一级精品| 一二三中文字幕在线| 91九色国产社区在线观看| 欧美日韩精品在线视频| 五月婷婷六月综合| www.亚洲.com| 色之综合天天综合色天天棕色| 欧美一级二级三级蜜桃| 亚洲精品极品| 黄色网页在线观看| 色视频一区二区三区| 日韩精品一区二区三区蜜臀| 在线日本成人| 好吊日av在线| avav在线播放| 日韩深夜影院| 久久综合偷偷噜噜噜色| 成人性生交免费看| 久久久久久久久久久视频| 黄色一级在线视频| 亚洲一区二区精品在线| jizz一区二区三区| 新呦u视频一区二区| 亚洲欧洲激情在线| 国产精品白丝jk白祙喷水网站| 亚洲天堂电影| 欧美成人免费在线观看视频| 欧美日韩福利视频| 一区二区久久久| 一区在线观看| 理论不卡电影大全神| 欧美日韩在线一| 91精品国产色综合久久不卡98| 亚洲成av人片在线观看| 国产精品综合| 粉嫩av一区二区三区四区五区 | 韩国在线一区| 三妻四妾完整版在线观看电视剧 | 久久午夜av| 日韩欧美一区二区三区免费观看 | 69精品小视频| 欧美性一级生活| 国产精品1024| 男男gay无套免费视频欧美| 日本免费视频在线观看| 男人添女荫道口喷水视频| 欧美一区二区三区四区在线| 欧美天天综合网| 成人黄色一级视频| 色小子综合网| 三上悠亚一区二区| 噼里啪啦在线中文观看| 99热一区二区三区| 国产精品久久久久久久久久| 亚洲精品wwww| 亚洲国产成人va在线观看天堂| 日本va欧美va精品| 奇米狠狠一区二区三区| 国产99在线| 黄网站app在线观看下载视频大全官网| 欧美日韩另类丝袜其他| 欧美精品午夜视频| 欧美一区二区日韩一区二区| 中文一区在线播放| 免费观看在线综合| 99久久99久久精品国产片桃花| 日韩一区二区三区在线免费观看| 在线看黄的网站| 日本老熟妇毛茸茸|