實例分析:后臺權(quán)限設(shè)計
本文從權(quán)限設(shè)計的概念和基礎(chǔ)角色關(guān)系出發(fā),結(jié)合案例為我們介紹了權(quán)限設(shè)計模型、流程和頁面配置,與大家分享。
一、基本概念
權(quán)限設(shè)計大概可以分為查詢權(quán)限、操作權(quán)限、數(shù)據(jù)權(quán)限。
1. 查詢權(quán)限
查詢權(quán)限是指針對系統(tǒng)中具體的頁面有訪問的權(quán)限。例:整個系統(tǒng)中有三十個頁面,A員工權(quán)限只能查看其中的十個頁面。
2. 操作權(quán)限
操作權(quán)限是指系統(tǒng)中的功能按鈕有具體的操作權(quán)限。例:A員工在查看到十個頁面里,其中一個頁面是商戶查詢頁面,但是A不是運營人員,所以只能查詢商戶信息,而不能對商戶進行新增、修改、刪除等操作權(quán)限
3. 數(shù)據(jù)權(quán)限
數(shù)據(jù)權(quán)限是指能夠查看或下載的數(shù)據(jù)范圍的權(quán)限,例:訂單頁面中包含訂單號、時間、狀態(tài)成本、毛線、分潤、銷售提成等。不同角色在同一個頁面看到的信息是不同的。財務(wù)部門可以查看到全字段的,因為需要進行核算。普通技術(shù)人員只能看到訂單號、時間、狀態(tài)等基礎(chǔ)信息。
二、角色關(guān)系梳理
首先梳理一下新零售系統(tǒng)的層級關(guān)系,主要根據(jù)業(yè)務(wù)模式區(qū)分為自營商戶和入駐商戶(即商戶A、B和C)。
1. 入駐商戶組織架構(gòu)
根據(jù)商戶的實際的業(yè)務(wù)情況,了解到在設(shè)備鋪設(shè)的城市會設(shè)置該城市分支機構(gòu),城市下區(qū)縣會有對應(yīng)的庫存統(tǒng)一管理,可以統(tǒng)一的調(diào)配各自下屬的區(qū)域的商品銷量、庫存情況進行統(tǒng)計分析。每個月區(qū)域會有對應(yīng)的區(qū)域經(jīng)理角色,單獨的管理一個區(qū)域。每個區(qū)域下會有多臺設(shè)備,每個設(shè)備會有對應(yīng)的維護人員、商品補充人員,每個人員會同時的維護多臺設(shè)備。所以商戶的整體的組織架構(gòu)的層級下: 商戶的總部->城市管理->區(qū)縣管理->區(qū)域管理->設(shè)備管理。
2. 自營商戶組織架構(gòu)
自營商戶的組架構(gòu)與入駐商戶的差不多,只是自營商戶的層級比較少,少了一個城市的區(qū)分,直接下放到地區(qū),比較扁平一些。自營的組織架構(gòu)如下:自營商戶->自營地區(qū)->自營區(qū)域->自營設(shè)備。
3. 整理新零售組織架構(gòu)圖
三、權(quán)限模型設(shè)計
1. 權(quán)限模型梳理
根據(jù)新零售系統(tǒng)的組織架構(gòu),可以得出的結(jié)論是每一個層級會有對應(yīng)的管理人員、運營人員、庫存管理、財務(wù)等角色。所以在設(shè)計權(quán)限管理時,需要考慮每個層級之間屬于單獨的一個組織。高級別的組織可以查看到低級別組織的數(shù)據(jù)內(nèi)容,但是低級別組織不允許跨級查看。同時低級別組織可以繼承高級別組織的權(quán)限,即高級別組織可以自由分配低級別權(quán)限內(nèi)容。
2. 權(quán)限模型
3. 權(quán)限模型具體內(nèi)容解釋
(1)上圖中1和N代表的是數(shù)量關(guān)系,1是代表只能有一個,N是可以無限個。例如一個組織架構(gòu)下有很多用戶,但是一個用戶只能擁有一個組織機構(gòu),所以組織:用戶=1:N,其他也是以此類推即可。
(2)根據(jù)RABC權(quán)限模型設(shè)計,為了更加方便權(quán)限的添加與管理,引入了用戶組、角色的概念,一個用戶可以是單獨某一類角色,也可以加入一個群組。如果兩者共同存在時,那么此時該用戶的權(quán)限則是一個角色+群組的并集。如下圖所示,一個用戶可以同時擁有用戶組和角色。
(3)權(quán)限集合包含了頁面查詢權(quán)限、功能按鈕、數(shù)據(jù)權(quán)限。其中數(shù)據(jù)權(quán)限、功能按鈕是依托于頁面查詢權(quán)限,如果單獨配置數(shù)據(jù)權(quán)限或功能按鈕權(quán)限,不配置相應(yīng)的頁面查詢權(quán)限,那么數(shù)據(jù)權(quán)限和功能按鈕權(quán)限則無法展示,也就沒有實際用。有些特殊情況可以利用這個方式也處理權(quán)限。例如當多個頁面的都有相同功能,這些功能又是放置在同一個權(quán)限上,可以通過控制頁面權(quán)限而達到控制這部分按鈕的目的。
四、權(quán)限獲取流程設(shè)計
(1)用戶登錄成功后,首先判斷賬號的組織歸屬,獲取改賬號的組織層級,因為在添加組織時管理員賬號是必填選項,并且權(quán)限也是必填選項,所以不存在有賬號會沒有組織情況。(PS:公司運營人員也屬于最高級別組織)
(2)獲取用戶層級后,判斷該用戶在這個層級歸屬的用戶組、角色權(quán)限,如果沒有對應(yīng)的用戶組與角色,那么就使用該層級的默認權(quán)限。默認權(quán)限可配置。
(3)獲得用戶的權(quán)限后,在進入對應(yīng)的頁面時獲得對應(yīng)的操作和數(shù)據(jù)權(quán)限。
五、頁面配置設(shè)計
1. 組織管理
根據(jù)業(yè)務(wù)模式每個層級相當于是一個新的組織,所以便有組織管理存在。每個層級可以任意的建立下級組織,原則上是沒有層級的上限限制。在總部賬號上,可以查看到每一個賬號的歸屬和所有的交易數(shù)據(jù)、商戶信息等數(shù)據(jù),而每個組織只能查看自身數(shù)據(jù)以及下級分支數(shù)據(jù),并不能跨組織進行查詢和操作數(shù)據(jù)。
2. 功能菜單配置
功能菜單配置包括頁面權(quán)限配置、頁面中按鈕權(quán)限配置。由于一級菜單不能隨意進行添加,所以這個配置只有二級菜單的配置權(quán)限。而一級菜單只能有通過開發(fā)執(zhí)行sql才能添加進去。
3. 部門配置
(1)根據(jù)RABC原則,每個用戶可直接關(guān)聯(lián)角色或權(quán)限組。小編根據(jù)實際業(yè)務(wù)場景,將權(quán)限組與角色進行關(guān)聯(lián)。用戶直接與權(quán)限組關(guān)聯(lián),而權(quán)限組與角色是具有綁定關(guān)系。并且只有特殊的角色查詢時才有限制,例如某個產(chǎn)品線運營,只能查詢下載自身所在產(chǎn)品線的商戶交易數(shù)據(jù)(PS:產(chǎn)品線是通過商戶屬性劃分,看各公司規(guī)定)。
(2)權(quán)限配置
4. 員工配置
(1)員工配置需要關(guān)聯(lián)到相關(guān)的部門才能獲取對應(yīng)的權(quán)限,一個員工可以擁有多個部門,相當于是可以擁有多個部門的權(quán)限集合。
(2)每個員工都配置對應(yīng)的員工級別,分為普通員工和部門經(jīng)理。這樣分配的原因是,類似于銷售類這種角色,普通銷售只能查看自己的訂單和商戶。但是銷售總監(jiān)級別是查看下屬銷售的權(quán)限的。所以如果在同一個部門,屬于部門經(jīng)理的。在查看數(shù)據(jù)時,可以查看該部門員工的所有的數(shù)據(jù)。
5. 數(shù)據(jù)權(quán)限配置
(1)上述所有的配置都是頁面和按鈕的配置,針對數(shù)據(jù)字段的查看和下載需要單獨的頁面進行配置,在點擊頁面時自動獲取對應(yīng)的查詢權(quán)限的模板,點擊下載時讀取對應(yīng)的模板進行下載。
(2)默認權(quán)限可配置在某個部門下,這樣可避免無特殊要求的部門不需要重復(fù)的進行配置,統(tǒng)一讀取默認配置即可。
六、總結(jié)
以上講述了系統(tǒng)整體的權(quán)限設(shè)計的思路,對整體的流程、權(quán)限模型、頁面設(shè)計做了詳細的梳理,總結(jié)歸納如下:
- 梳理業(yè)務(wù)中組織架構(gòu)與相關(guān)人員的角色關(guān)系,輸出相應(yīng)的組織架構(gòu)圖。
- 根據(jù)組織架構(gòu)圖設(shè)計相關(guān)的權(quán)限模型,模型中將涉及的參數(shù)的數(shù)量關(guān)系梳理清楚,并且在后續(xù)的頁面設(shè)計中使用。
- 了解RABC權(quán)限設(shè)計體系,理解用戶、用戶組、角色與權(quán)限的關(guān)系。根據(jù)業(yè)務(wù)的實際場景,將RABC權(quán)限體系適用于自身業(yè)務(wù)。
最后感謝大家閱讀完本文,如有寫的不對的地方,請批評指正錯誤,歡迎大家一起來探討。
本文由 @TOM 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
前面梳理權(quán)限模型時說一個用戶只能擁有一個組織架構(gòu),但下面員工配置的時候又寫一個用戶可以在多個部門??
有沒有可能是擁有是指部門管理者,而在多個部門是有些用戶有多種身份
您好,請問可以再詳細解釋一些數(shù)據(jù)權(quán)限那塊的設(shè)計嗎?怎么樣去獲取對應(yīng)的數(shù)據(jù)字段的權(quán)限呢,把對應(yīng)的模板下載下來是做什么用的呢?這塊有點不太明白,而且數(shù)據(jù)權(quán)限的設(shè)計不止是數(shù)據(jù)字段的權(quán)限設(shè)計,還有相同字段不同權(quán)限范圍的設(shè)計,比如字段相同但是只能看自己錄入的數(shù)據(jù)不能看別人錄入的數(shù)據(jù)。請問這種要怎么處理呢?
1、權(quán)限獲取是和用戶賬戶關(guān)聯(lián)綁定的,在配置字段權(quán)限時候就關(guān)聯(lián)了部門,而部門里面是有內(nèi)部具體賬號信息。
2、模板下載功能的作用是為了本地存儲,方便文件傳輸和篩選查看。通過excel可以直接看出配置了哪幾個部門權(quán)限。
3、對于自己只能查看自己錄入的數(shù)據(jù),這種就是不屬于數(shù)據(jù)字段權(quán)限了,是查詢權(quán)限了,查詢時候只能查看自己的數(shù)據(jù),例如銷售的商戶查詢,只能查看銷售自己拓展的商戶。這種可以和角色關(guān)聯(lián)。特殊的角色只能查看自己的數(shù)據(jù)。
請問字段權(quán)限要如何管理呢
字段權(quán)限可以分為通用字段權(quán)限和特殊的,通用就是公共不涉及敏感信息,大部分有頁面查詢權(quán)限都可以看到,特殊單獨配置對應(yīng)人員(或部門)就可以,這些可以減少配置的次數(shù)。
謝謝
權(quán)限設(shè)計、用戶組設(shè)計是在設(shè)計產(chǎn)品最開始要考慮的,還是產(chǎn)品設(shè)計完成后再配置?
這個是要在搭建整個平臺時候需要考慮的,需要分析用戶的權(quán)限分組。在做具體功能設(shè)計時候是清晰知道提供哪個級別的權(quán)限使用。
是用戶組,還是角色組 ?
是用戶組,用戶組與角色可以關(guān)聯(lián), 用戶還可以單獨額外的賦予權(quán)限
您好,好像是RBAC(Role-Based Access Control)。
是的,這個寫錯了,感謝指出錯誤
學習了,感謝分享