最近看了很多關於許可權管理系統的產品設計的文章(rbac模型,role-based access control 基於角色的訪問控制),總結下自己認識的許可權系統。
一、rbac模型解釋
先來look下圖,
圖意:通過角色關聯使用者,角色關聯許可權的方式間接賦予使用者各種許可權。
使用者:指使用此系統的所有人員
角色:許可權的集合。
使用者與角色之間是多對多的關係:1個使用者可以允許擁有多個角色(許可權取並集),同樣1個角色可以分配給多個使用者,所以 ,這裡需要多乙個使用者角色關係表,主要是管理使用者與角色之間的關係
二、許可權的定義
許可權:頁面許可權、操作許可權(增刪改查)、資料許可權。
a.頁面許可權:所有系統都是由乙個個的頁面組成,頁面再組成模組,使用者是否能看到這個頁面的選單、是否能進入這個頁面就稱為頁面許可權
b.操作許可權:使用者在系統中的任何動作、互動,如增刪改查
c.資料許可權:對資料私密性的要求:哪些人可以看到哪些資料,不可以看到哪些資料
下面詳細說下 資料許可權,
解析下上面的圖意:業務經理、業務主管、業務員都可以出單(都有自己的訂單),而他們的職級關係是業務經理下面有業務主管、業務主管下面有業務員
而資料許可權在這個地方的體現是:上級可以看到下級員工的資料,而不能看到 平級及其下級的員工資料。
定義資料:
1.業務員:僅可檢視個人資料 (僅自己資料)
2.主管:可檢視自己的資料和自己旗下所有業務員的資料 (主管級別及下屬資料)
3.業務經理:可以檢視自己的資料、自己旗下所有主管的資料及主管旗下所有業務員的資料 (經理級別及下屬資料)
4.老闆:檢視所有資料 (全部資料)
三、產品設計
許可權設計系統 RBAC
許可權系統是針對與使用者設計,不同的使用者進入擁有不同的身份,而不同的身份則會導致他們能夠使用到系統中的功能出現不同。這些功能即需要前端展示時的控制,也需要後端許可權的校驗。rbac role based access control 是一套很成熟的許可權設計模型。是乙個基於角色所控制的系統,所謂角...
RBAC許可權設計
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
RBAC許可權設計
rbac 模型作為目前最為廣泛受的許可權模型 角色訪問控制 rbac 引入了role的概念,目的是為了隔離user 即動作主體,subject 與privilege 許可權,表示對resource的乙個操作,即operation resource role作為乙個使用者 user 與許可權 priv...