最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于RBAC 的SAAS系統(tǒng)權(quán)限設(shè)計

2022-06-23 13:41 作者:陪學(xué)產(chǎn)品經(jīng)理  | 我要投稿

為什么系統(tǒng)需要權(quán)限控制?

生活中有沒有權(quán)限限制?

災(zāi)難片電影《2012》中富人和權(quán)貴有權(quán)登上諾亞方舟,窮苦老百姓只有等著災(zāi)難的來臨;

屌絲身邊為什么沒有那些長得漂亮、身材好的姑娘存在?

因為有錢人和漂亮姑娘都是珍貴稀有的,稀有的人在一起玩耍。而普通人往往無權(quán)擁有他們所擁有的權(quán)限。


權(quán)限管理的本質(zhì)

web程序通過 url 的切換查看不同的頁面(功能),所以權(quán)限管理指的其實就是URL管理,對url控制就是對權(quán)限的控制。

因此,一個人有多少個權(quán)限取決于他可以訪問多少個URL。

RBAC是什么?

RBAC(Role-Based Access Control),是基于角色的訪問控制,是一種先進的權(quán)限管理的模型。RBAC把用戶通過角色與權(quán)限進行關(guān)聯(lián)。即讓一個用戶擁有若干角色,每一個角色擁有若干權(quán)限。

這樣就構(gòu)造成了“用戶-角色-權(quán)限”的授權(quán)模型。在這種模型中,用戶與角色之間,角色與權(quán)限之間,一般者是多對多的關(guān)系。


權(quán)限系統(tǒng)中的概念

用戶

應(yīng)用系統(tǒng)的具體操作者,用戶可以自己擁有權(quán)限信息,可以歸屬于0~n個角色,可屬于0~n個組。他的權(quán)限集是自身具有的權(quán)限、所屬的各角色具有的權(quán)限、所屬的各組具有的權(quán)限的合集。它與權(quán)限、角色、組之間的關(guān)系都是n對n的關(guān)系。

角色

為了對許多擁有相似權(quán)限的用戶進行分類管理,定義了角色的概念,例如系統(tǒng)管理員、管理員、用戶、訪客等角色。角色具有上下級關(guān)系,可以形成樹狀視圖,父級角色的權(quán)限是自身及它的所有子角色的權(quán)限的綜合。父級角色的用戶、父級角色的組同理可推。

為了更好地管理用戶,對用戶進行分組歸類,簡稱為用戶分組。組也具有上下級關(guān)系,可以形成樹狀視圖。在實際情況中,我們知道,組也可以具有自己的角色信息、權(quán)限信息。這讓我想到我們的QQ用戶群,一個群可以有多個用戶,一個用戶也可以加入多個群。每個群具有自己的權(quán)限信息。例如查看群共享。QQ群也可以具有自己的角色信息,例如普通群、高級群等。

權(quán)限

系統(tǒng)的所有權(quán)限信息表達了兩層含義。即控制的對象、操作。向上引申可將權(quán)限劃分為3個組成部分:

頁面權(quán)限:用戶可以看到那些頁面;

操作權(quán)限:用戶可以在頁面內(nèi)進行那些操作,增刪改查等;

數(shù)據(jù)權(quán)限:用戶可以看到那些數(shù)據(jù)或內(nèi)容;

權(quán)限模塊設(shè)計

完整的權(quán)限管理做大可作為獨立 系統(tǒng)進行開發(fā),小做也必定做為SAAS平臺的核心基礎(chǔ)模板,在最初迭代初期就進入規(guī)劃、設(shè)計環(huán)節(jié)。在進行權(quán)限模塊設(shè)計時,產(chǎn)品可以從兩個角度考慮:

1.權(quán)限控制管理

即對系統(tǒng)中各類涉及權(quán)限限制的元素進行使用、查看等操作的權(quán)限控制。

l最基本的權(quán)限管理是菜單管理,用戶沒有權(quán)限的功能模塊在菜單節(jié)點上不顯示。

如:普通業(yè)務(wù)人員登錄系統(tǒng)后,是看不到【用戶管理】菜單的。

l功能權(quán)限管理,B/S系統(tǒng)的功能體現(xiàn)為URL,所以功能權(quán)限管理主要是針對URL訪問的管理。

如:經(jīng)過授權(quán),部門經(jīng)理可以查看【用戶管理】菜單,并查看部門用戶信息,但權(quán)限設(shè)計要求,該部門經(jīng)理沒有添加用戶的權(quán)限。所以在訪問【添加用戶】的功能(URL)時,應(yīng)該有沒有授權(quán)的提示信息。同時在【用戶管理】頁面上,【添加用戶】的按鈕應(yīng)該灰色顯示,不能點擊。

l行級權(quán)限管理

如:論壇管理員,權(quán)限設(shè)計要求 A能管理論壇 【新聞版塊】,不能管理論壇 【技術(shù)交流】此時的權(quán)限設(shè)計就應(yīng)該根據(jù)論壇的相應(yīng)ID來判斷權(quán)限信息。

l列級權(quán)限管理

如:業(yè)務(wù)權(quán)限設(shè)計要求,除銷售人員以外,其他用戶不能看到客戶的聯(lián)系方式信息。

此時的權(quán)限設(shè)計要判斷相應(yīng)的字段(列)是否可以顯示。

l組織機構(gòu)/部門級數(shù)據(jù)權(quán)限管理

如:業(yè)務(wù)權(quán)限設(shè)計要求,銷售一部的人員只能看到本部門的銷售訂單,銷售二部的人員只能看到本部門的銷售訂單,但銷售經(jīng)理可以同時看到銷售一部和銷售二部的銷售訂單。此時的權(quán)限設(shè)計就要根據(jù)銷售訂單數(shù)據(jù)本身的部門屬性來做判斷

l范圍型業(yè)務(wù)數(shù)據(jù)權(quán)限管理

如:大賣場銷售人員在下銷售訂單時,要選擇相應(yīng)的產(chǎn)品所在倉庫信息。業(yè)務(wù)權(quán)限設(shè)計要求,【國美】的銷售人員在選擇倉庫的下拉列表中不能看到【廣州倉庫】,而【大中電器】的銷售人員在選擇倉庫的下拉列表中不能看到【北京順義倉庫】

2.權(quán)限分配管理

針對權(quán)限管理內(nèi)容通過系統(tǒng)授權(quán)功能分配給具體的用戶,角色的過程。

l直接對用戶授權(quán),直接分配到用戶的權(quán)限具有最優(yōu)先級別。

l對用戶所屬崗位授權(quán),用戶所屬崗位信息可以看作是一個分組,和角色的作用一樣,但是每個用戶只能關(guān)聯(lián)一個崗位信息。

l對用戶所屬角色授權(quán),用戶所屬角色信息可以看作是一個權(quán)限分組,每個用戶可以關(guān)聯(lián)多個角色。

l角色直接關(guān)聯(lián)具體的功能權(quán)限(URL),也可以關(guān)聯(lián)負(fù)權(quán)限,即此角色關(guān)聯(lián)的權(quán)限不能使用負(fù)權(quán)限功能。負(fù)權(quán)限具有優(yōu)先級別。

l分級授權(quán),系統(tǒng)管理員可以將自己擁有的權(quán)限信息授權(quán)給其他用戶。即可以設(shè)置分級管理員和超級管理員。


界面總體設(shè)計

想想一個簡單的權(quán)限系統(tǒng)應(yīng)該有什么功能呢?當(dāng)然是:用戶-角色-權(quán)限,下圖所示過程:

創(chuàng)建角色列表

在角色列表快速創(chuàng)建一個角色:點擊創(chuàng)建角色,支持創(chuàng)建角色時配置權(quán)限。

創(chuàng)建用戶列表

在用戶列表快速創(chuàng)建一個用戶:支持用戶關(guān)聯(lián)角色的功能。用戶權(quán)限管理常見設(shè)計包括:

l所屬角色:當(dāng)用戶選擇“修改”按鈕時,彈出角色樹形結(jié)構(gòu),操作人可以通過勾選或取消勾選來修改該用戶所屬的角色。

l所屬組:當(dāng)用戶選擇“修改”按鈕時,彈出組的樹形結(jié)構(gòu),操作人可以通過勾選或取消勾選來修改該用戶所屬的組。

l用戶權(quán)限:通過對已具有的權(quán)限取消勾選,或為某權(quán)限添加勾選,來修改用戶的權(quán)限信息,點擊“保存”按鈕保存修改信息。

l總權(quán)限:通過對已具有的權(quán)限取消勾選,或為某權(quán)限添加勾選,來修改用戶的權(quán)限信息,點擊“保存”按鈕保存修改信息。

l用戶管理:當(dāng)選擇了某用戶時,點擊右鍵,彈出菜單列表:修改、刪除、取消,點擊修改和刪除按鈕可以實現(xiàn)用戶的刪除和修改功能。

選擇某個組織,例如 “廣州分公司”,彈出菜單列表:添加子組織、刪除組織、修改組織、添加用戶、取消,點擊添加用戶按鈕可以實現(xiàn)用戶的添加功能。

l組織管理:選擇某個組織,彈出菜單列表:添加子組織、刪除組織、修改組織、添加用戶、取消,點擊添加子組織、刪除組織、修改組織按鈕可以實現(xiàn)組織的添加、刪除和修改功能。

上述案例是基于最簡單的RBAC0模型創(chuàng)建,適用于大部分常規(guī)的權(quán)限管理系統(tǒng)。

角色權(quán)限管理

我們還可以在上面的內(nèi)容基礎(chǔ)上再加上角色等級。角色權(quán)限管理設(shè)計中,通常包括以下內(nèi)容:

l包含用戶:當(dāng)用戶選擇“修改”按鈕時,彈出用戶列表,操作人可以通過勾選或取消勾選來修改該角色所包含的用戶。

l包含組:當(dāng)用戶選擇“修改”按鈕時,彈出用戶列表,操作人可以通過勾選或取消勾選來修改該角色所包含的組。

l角色權(quán)限:通過對已具有的權(quán)限取消勾選,或為某權(quán)限添加勾選,來修改角色的權(quán)限信息,點擊“保存”按鈕保存修改信息。

l管理角色:選中組1的時候,右鍵點擊可彈出組的操作列表,包括添加、刪除和修改按鈕,從而完成在該組下添加子組,刪除該組以及修改該組的功能。

具體界面呈現(xiàn)如下圖:

組權(quán)限管理

除此之外,還有組權(quán)限管理

l包含用戶:當(dāng)用戶選擇“修改”按鈕時,彈出用戶列表,操作人可以通過勾選或取消勾選來修改該組所包含的用戶。

l所屬角色:當(dāng)用戶選擇“修改”按鈕時,彈出角色樹形結(jié)構(gòu),操作人可以通過勾選或取消勾選來修改該組所屬的角色。

l組權(quán)限:通過對已具有的權(quán)限取消勾選,或為某權(quán)限添加勾選,來修改組的權(quán)限信息,點擊“保存”按鈕保存修改信息

l總權(quán)限:通過對已具有的權(quán)限取消勾選,或為某權(quán)限添加勾選,來修改組的權(quán)限信息,點擊“保存”按鈕保存修改信息

l組管理:選中組1的時候,右鍵點擊可彈出組的操作列表,包括添加、刪除和修改按鈕,從而完成在該組下添加子組,刪除該組以及修改該組的功能

操作日志管理

l查詢操作日志:輸入上圖表單中的查詢信息后,點擊“查詢”按鈕,可查詢出符合條件的信息。

l刪除操作日志:輸入上圖表單中的查詢信息后,點擊“查詢”按鈕,可查詢出符合條件的信息。而后點擊“刪除”按鈕,可刪除符合查詢條件的操作日志。


基于RBAC 的SAAS系統(tǒng)權(quán)限設(shè)計的評論 (共 條)

分享到微博請遵守國家法律
九江县| 泾川县| 离岛区| 驻马店市| 双江| 思南县| 收藏| 杭锦后旗| 宁河县| 普兰县| 罗定市| 宁德市| 北辰区| 阜宁县| 三原县| 东平县| 张北县| 昆明市| 南阳市| 肥乡县| 万宁市| 东港市| 炉霍县| 凌海市| 海林市| 宜州市| 东辽县| 名山县| 平遥县| 湘乡市| 峨山| 大田县| 盐源县| 普安县| 锦州市| 晋中市| 闽清县| 偃师市| 石阡县| 兴业县| 玛多县|