【圖解權限】系統(tǒng)權限是如何生效的?
系統(tǒng)權限涉及身份驗證服務和訪問控制服務兩個過程,那么它們是如何操作的呢?本文將簡述其中的過程,希望能對大家有所幫助。
很多產(chǎn)品小伙伴在剛接觸權限控制問題的時候,往往搜到的都是RBAC、ABAC等權限控制技術實現(xiàn)方法,而這種抽象方法其實不能夠幫大家形象地了解“權限是如何生效的”這個問題.為什么不同角色看到的菜單不一樣?不同角色擁有的操作不一樣?同一個菜單列表里的數(shù)據(jù)范圍也不一樣?
這里主要涉及2大過程:
- 身份驗證服務
- 訪問控制服務
今天我試著用圖解的方式,告訴大家權限是如何生效的。
一、系統(tǒng)權限如何生效
1. 身份驗證服務
我們打開一個系統(tǒng),第一步要做的就是登錄,最常見的就是使用賬號密碼登錄。當我們輸入正確的賬號和密碼組合時,提交給系統(tǒng)后,系統(tǒng)的“身份驗證服務”就會對我們提交的賬號和密碼組合進行驗證,看看是否屬于系統(tǒng)用戶。
身份驗證服務相當于門衛(wèi)
在驗證成功后,“身份驗證服務”會給用戶發(fā)一個憑證,這個憑證就相當于一個通行證,方便用戶與系統(tǒng)后續(xù)的交互行為。
2. 訪問控制服務
經(jīng)過身份驗證服務后,算是進了系統(tǒng)的“大門”了,但是進門之后,并不一定就可以訪問系統(tǒng)里所有的內(nèi)容,因為這時候有“訪問控制服務”來對每個進來的用戶進行訪問控制。我們常說的頁面權限控制、操作權限控制、數(shù)據(jù)權限控制等都屬與“訪問控制”的范疇。
訪問控制服務是“鑰匙”
前面提到的角色權限控制(RBAC模式)就屬于訪問控制的一種經(jīng)典實現(xiàn)方式,也就是使用“角色”這個中間對象,關聯(lián)允許訪問的菜單以及對應菜單上的操作(比如新增、修改、刪除),然后被賦予該角色的用戶都能夠被授予這些訪問權限。
用角色控制菜單和操作權限
在數(shù)據(jù)權限上,我們一般使用組織架構管理來進行數(shù)據(jù)范圍的控制。比如“訂單管理”菜單中,包含了廣東省所有地級市的訂單內(nèi)容,我們就使用廣東省總公司(父級)、廣州市分公司(子級)、深圳市分公司(子級)這樣的組織層級,對訂單管理列表的數(shù)據(jù)內(nèi)容,作一個地市上的劃分和控制。
比如屬于廣東省總公司層級的賬號,可以看到所有的訂單數(shù)據(jù),而屬于廣州市分公司層級的賬號,只能看到廣州市的訂單數(shù)據(jù),看不到其它城市的訂單數(shù)據(jù)。
用組織架構進行數(shù)據(jù)權限的區(qū)隔
二、UML時序圖
下面我們用時序圖強化一下對登錄后,權限生效過程的理解:
- 當賬號密碼通過驗證時,我們就進入了系統(tǒng)大門;
- 系統(tǒng)根據(jù)訪問控制服務的反饋,加載對應的頁面元素,其中包含菜單、按鈕、列表數(shù)據(jù)等受訪問控制的對象;
- 系統(tǒng)頁面加載完畢,用戶可以進行瀏覽和操作。
本篇僅是想給各位產(chǎn)品經(jīng)理科普權限生效的過程,也是“圖解權限”系列的第一篇,后續(xù)我們會結合具體的后臺頁面,給大家具體呈現(xiàn)演繹一下RBAC角色權限控制的實際效果。
作者:產(chǎn)品經(jīng)理P仔 , 公眾號:產(chǎn)品經(jīng)理P仔
本文由@產(chǎn)品經(jīng)理P仔 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉載。
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發(fā)揮!