【圖解權限】系統權限是如何生效的?

0 評論 6401 瀏覽 38 收藏 6 分鐘

系統權限涉及身份驗證服務和訪問控制服務兩個過程,那么它們是如何操作的呢?本文將簡述其中的過程,希望能對大家有所幫助。

很多產品小伙伴在剛接觸權限控制問題的時候,往往搜到的都是RBAC、ABAC等權限控制技術實現方法,而這種抽象方法其實不能夠幫大家形象地了解“權限是如何生效的”這個問題.為什么不同角色看到的菜單不一樣?不同角色擁有的操作不一樣?同一個菜單列表里的數據范圍也不一樣?

這里主要涉及2大過程:

  1. 身份驗證服務
  2. 訪問控制服務

今天我試著用圖解的方式,告訴大家權限是如何生效的。

一、系統權限如何生效

1. 身份驗證服務

我們打開一個系統,第一步要做的就是登錄,最常見的就是使用賬號密碼登錄。當我們輸入正確的賬號和密碼組合時,提交給系統后,系統的“身份驗證服務”就會對我們提交的賬號和密碼組合進行驗證,看看是否屬于系統用戶。

【圖解權限】系統權限是如何生效的?

身份驗證服務相當于門衛

在驗證成功后,“身份驗證服務”會給用戶發一個憑證,這個憑證就相當于一個通行證,方便用戶與系統后續的交互行為。

2. 訪問控制服務

經過身份驗證服務后,算是進了系統的“大門”了,但是進門之后,并不一定就可以訪問系統里所有的內容,因為這時候有“訪問控制服務”來對每個進來的用戶進行訪問控制。我們常說的頁面權限控制、操作權限控制、數據權限控制等都屬與“訪問控制”的范疇。

【圖解權限】系統權限是如何生效的?

訪問控制服務是“鑰匙”

前面提到的角色權限控制(RBAC模式)就屬于訪問控制的一種經典實現方式,也就是使用“角色”這個中間對象,關聯允許訪問的菜單以及對應菜單上的操作(比如新增、修改、刪除),然后被賦予該角色的用戶都能夠被授予這些訪問權限。

【圖解權限】系統權限是如何生效的?

用角色控制菜單和操作權限

在數據權限上,我們一般使用組織架構管理來進行數據范圍的控制。比如“訂單管理”菜單中,包含了廣東省所有地級市的訂單內容,我們就使用廣東省總公司(父級)、廣州市分公司(子級)、深圳市分公司(子級)這樣的組織層級,對訂單管理列表的數據內容,作一個地市上的劃分和控制。

比如屬于廣東省總公司層級的賬號,可以看到所有的訂單數據,而屬于廣州市分公司層級的賬號,只能看到廣州市的訂單數據,看不到其它城市的訂單數據。

【圖解權限】系統權限是如何生效的?

用組織架構進行數據權限的區隔

二、UML時序圖

下面我們用時序圖強化一下對登錄后,權限生效過程的理解:

  1. 當賬號密碼通過驗證時,我們就進入了系統大門;
  2. 系統根據訪問控制服務的反饋,加載對應的頁面元素,其中包含菜單、按鈕、列表數據等受訪問控制的對象;
  3. 系統頁面加載完畢,用戶可以進行瀏覽和操作。

【圖解權限】系統權限是如何生效的?

本篇僅是想給各位產品經理科普權限生效的過程,也是“圖解權限”系列的第一篇,后續我們會結合具體的后臺頁面,給大家具體呈現演繹一下RBAC角色權限控制的實際效果。

作者:產品經理P仔 , 公眾號:產品經理P仔

本文由@產品經理P仔 原創發布于人人都是產品經理,未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!