後臺權限設計法:「三位一體」

2021-01-10 人人都是產品經理

如何產出一個相對合理的後臺權限設計?本文筆者提出了一個後臺權限設計法:三位一體法——也就是「用戶+角色+組織結構=用戶權限」。

知乎上有個問題:「為什麼很多產品經理不願意做後臺?」在各類回覆中有一個聲音:「因為後臺產品不好抄……」

不可否認,前臺產品和功能大都肉眼可見,存在可以借鑑的思路,而後臺產品可參考的內容不多,但也正因此,我們才需要更多的後臺產品設計資料。

最近幾年自己主要負責數據平臺產品與ERP等業務系統項目,這些都屬於後臺範疇,所以在後臺設計方面,有一些自己的方式方法,本文優先將後臺權限設計相關的經驗分享給大家,與大家一起探討。

為什麼要設計後臺權限

廣義的後臺包括業務系統(ERP、CRM、財務與客服系統等)、平臺型產品、To B商戶端以及各類App的管理後臺等。

其中不少初創App的管理後臺,一個超管帳號打天下,等規模提高到需要拆分後臺用戶權限的時候,再對後臺的改造,這幾乎算是刮骨療毒了,需要付出的代價很大。可以說越早進行後臺權限設計,後續成本也就越低。

首先我們來看,什麼是後臺權限,後臺權限主要由以下三部分組成:

頁面權限:用戶可以看到那些頁面;操作權限:用戶可以在頁面內進行那些操作,增刪改查等;數據權限:用戶可以頁面內看到那些數據或內容,以教培ERP系統學員管理模塊為例,學員1為A校區學員,學員2為B學員,A校區相關工作人員登錄系統查看學員信息,僅可查看到學員1。

以上三種權限組合在一起,決定了當前用戶的後臺權限與其可以完成那些業務流程。

至於為什麼需要設計後臺權限,或者這麼說:為什麼要合理的設計後臺權限?

那是因為後臺權限直接影響了系統的拓展性和兼容性,如果用戶權限設計不到位,極容易出現部分後臺用戶權限溢出,或者後臺用戶出現交叉權限,出現很多人為的操作失誤。

另外,數據權限控制不到位,容易造成數據洩露,尤其是B端系統,可能造成內部爭搶客戶資源等「惡性」鬥爭。

如何相對合理的設計後臺權限

關於後臺權限設計也有一些現行的方法,比如:RBAC模型,也就是基於角色的權限訪問控制,這是一個比較常用的權限設計方法。

參考RBAC模型,結合這些年的工作經驗,覺得可以通過以下方式實現對頁面權限、操作權限與數據權限的管理,我把這種方式稱作:「三位一體法「

後臺用戶,承載權限的主體,也影響部分數據權限。用戶角色,通過對角色的管理,實現對頁面與操作權限的管理。組織結構,部門架構的樹形結構,實現對數據權限的管理。

換言之,三位一體:用戶+角色+組織結構=用戶權限

1. 角色管理

角色是頁面操作權限的集合,是一個權限集。通過對角色權限的修改,可以實現對用戶權限的批量修改。

角色管理需要明確權限粒度(明確哪些操作需要設置權限),對於權限粒度的把控是很關鍵的,可以避免角色設置過於複雜。

對角色的修改和刪除,需要考慮到對現有用戶的影響,要明確這些操作的後置條件。

看圖說話:

結合上圖,我們大致可以明白角色管理的實現方式了。

下面給大家說一下這種實現方式的弊端

角色設置要求高,設置角色的相關人員需要對業務足夠了解,一旦出現誤操作,會直接對線上用戶產生影響;新增功能與頁面時需要對角色進行重新配置,可以手動完成,也可以自動化實現,但每次功能上線都需要將新增的功能與操作分配給對應的角色,一旦遺忘也會產生影響。

當角色過多時,可以準備一個角色說明文檔,既可以幫助我們了解現有角色的權限,又可以減少系統管理人員離職等原因造成的工作交接困難。

2. 組織結構管理

組織結構的管理要從兩個方向來實現:

一個是對組織結構本身的管理,也就是對部門的增刪改等;另一個是需要對後臺各個頁面中信息進行梳理歸納,確定信息主體中存在組織結構欄位。

(1)組織結構的實現

看圖說話:

如果短期之內後臺涉及部門不多,可以暫時不在後臺實現該功能模塊,而是通過XML配置文件的方式來實現,這樣可以節省開發成本。

(2)頁面數據的梳理歸納

存在了「部門」這個信息,怎麼運用這些信息,是我們需要實現的。在需求產出期間,我們會完成項目整體的「數據信息結構」,可能有不少PM都沒做過這個,還是舉例說明:

用上面提到的教培ERP-學員管理模塊,該模塊實現的是對學員的管理,信息主體也就是學員,我們可以看一下學員的數據信息結構(部分):

教培ERP裡的組織結構是校區及其上級管理部門,如果當前後臺用戶是組織結構中的校區欄位與學員的授課校區欄位一致,那對應的授課校區就擁有了查看該學員信息的數據權限。

數據權限的管理,需要我們對後臺所有模塊進行分析。而且在同一個頁面,可依據的欄位也不單一,就像上圖中的校區有籤約校區和授課校區兩個,實際情況中可能會有更多。

也就是說,可以通過多個欄位實現對數據權限的管理,因此對數據權限的梳理,一定要對業務十分的熟稔。

3. 用戶管理

之所以最後再寫用戶,是因為用戶是對角色與組織結構的承載,一個圖,大家也就都看明白了:

上圖中部門=組織結構,崗位=角色。

如果存在多個部門崗位的權限取併集,通過上述方式實現用戶權限管理。

一些總結的話

後臺權限「三位一體」設計法適用於普遍場景,因為各種系統的實際業務場景不同,所以還會有很多的特殊場景需要處理。但只要從實際業務場景出發,參考上述權限設計的思路,應該是可以產出一個相對合理的權限設計方案。

關於後臺權限設計還有不少需要注意的細節和小技巧,這些需要大家在實際操作過程中去發現與挖掘,另外哪怕是To C的產品也應該提高對後臺的重視程度,後臺產品是前臺產品的支撐,在後臺產品中後臺權限有點像筋骨脈絡,只有打通了任督二脈,才能成就絕世武功。

 

作者:張小墨,微信公眾號:月光坦克(moontank1918),某美股上市網際網路公司產品經理。

本文由 @張小墨 原創發布於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議

收藏已收藏 | {{ postmeta.bookmark }} 點讚已贊 | {{ postmeta.postlike }}

相關焦點

  • 如何實現後臺管理系統的權限路由和權限菜單
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫前言本文是繼 前端如何一鍵生成多維度數據可視化分析報表 實戰的最後一篇文章, 主要介紹如何實現後臺管理系統的權限路由和權限菜單.
  • 搭建後臺系統權限系統的經驗總結
    關於討論後臺系統中的權限系統的文章與理論有很多,而筆者就結合自己的認知與項目經驗,與大家分享搭建權限系統的要點。作為後臺產品經理,相信大家都有接觸過權限系統,權限系統是後臺系統中不可缺少的部分,可以保證系統分工明確,不同部門、不同崗位的人員可以合理的使用系統,減少因權限導致的指責劃分不明確等問題。
  • 後臺權限管理設計思路:三種模型分析
    編輯導語:任何系統/產品搭建時,最先考慮的都應該是權限管理模塊,而且權限管理模塊的清晰、穩定是平臺產品健康發展的基石,權限管理核心考慮的問題是用戶與權限的關係。本文作者對三種不同權限管理的版本展開了梳理分析,與大家分享。
  • 權限設計=功能權限+數據權限
    「普通用戶有刪除功能嗎」權限實際上是功能權限和數據權限的組合,像「刪除」操作是一個功能操作權限,需要把「刪除」賦予給某個用戶,該用戶才能有這個操作權限。如這樣一個場景:企業IT管理員為系統定義角色,給用戶分配角色。給新員工陳穎賦予「業務經理」角色,「業務經理」具有「新增客戶單位」、「查詢客戶單位」、「修改客戶單位」權限。
  • 遊戲gm權限
    遊戲gm權限下載!這是專為遊戲愛好者開發出來的手遊盒子,gm公益服手遊、折扣手遊、破解手遊...應有盡有,這類不僅有豐富的手遊資源還有最新鮮的遊戲資訊,充值比例更高福利更多更好玩,需要的小夥伴快來下載吧!
  • Google Play 下架原因之權限
    Enjoy出海-移動開發者出海服務平臺權限請求對用戶而言必須合理。您只能對實現 Play 商店內的商品詳情中宣傳的現有應用功能或服務所需的權限發出請求。您不得將對用戶或設備數據的訪問權限用於未披露、未實現或未經許可的功能或用途。此外,您不得銷售通過這些權限取得的個人或敏感數據。
  • UWebJava 後臺開發框架
    、模塊管理,資料庫管理、富文本編輯器(已集成ueditor,kindeditor),後臺支持多主題切換、布局管理、廣告管理、配置管理、字典管理、切圖管理、CMS內容管理等常用功能模塊,以方便開發者快速構建自己的應用。
  • 一文詳解To B權限設計
    前期分析A系統(企業內部營銷域平臺)是我最近在參與項目之一,主要職責一部分是設計後臺功能,這其中就包含了權限設計。對於A系統的權限設計,我是從下邊三個點出發進行分析:什麼人用?用戶從哪來?作為企業內部使用的營銷系統,用戶主體部分都是企業員工。
  • B端移動設計|用戶角色權限
    微信公眾號:俊馳,ID:hbjunchi】來自專輯B端移動設計總有人能在移動端做著你想做的事--這是第253篇原創每個公司都有用戶,也稱之為員工(職員),員工會有管理員、業務員、收銀員等角色,管理員的權限可以增刪查改用戶
  • SpringSecurity+JWT之基於RBAC模型的權限管理系統
    1.什麼是權限管理系統?權限管理是一個幾乎所有後臺系統的都會涉及的一個重要組成部分,可以說是後臺項目的基本功,主要目的是對整個後臺管理系統進行權限的控制,而針對的對象是員工,避免因權限控制缺失或操作不當引發的風險問題,如操作錯誤,數據洩露等問題。
  • gm手遊盒子權限破解
    gm手遊盒子權限破解下載!目前國內知名的幾款遊戲盒子軟體都有著不錯的用戶體驗以及實用性,至於說哪個好?基本上可以說是一代更比一代好。下面就為大家整理的目前知名的一些手遊盒子排行榜,相信總有你喜歡的那款。
  • 談一談B端的功能權限設計(上)
    如果你做過企業端或者後臺產品,你對權限設計應該不會陌生。權限設計是所有企業系統的基礎, 企業系統中所有的功能模塊都需要考慮到權限的控制。我們所說的「權限」,包括「功能權限」和「數據權限」,「功能權限」指用戶登錄系統後能看到哪些模塊,操作哪些按鈕比如常見的CRM系統,銷售人員和財務人員由於處理的業務不同,登錄系統後,看到的功能模塊也不盡相同;同樣都是財務人員,職位大小不同,擁有的操作功能也可能不同。
  • 愛奇藝、優酷、餓了麼等回應APP獲取用戶隱私權限
    新京報訊 (記者陳維城 馬婧 梁辰 白金蕾)3月28日,新京報刊發《百度系兩款APP未經提示開啟隱私權限》一文,記者實測10款主流APP,有5款若用戶不開啟某些權限便無法正常使用,其中,優酷默認開啟數個敏感權限。
  • 一次性權限,氣泡通知…… Android 11 更新和刪除的功能一覽
    自動收回權限 隱私權限再次得到升級,對於那些安裝後只是用過幾次便被遺忘在角落的應用,如果連續幾個月沒有打開,系統將會自動收回該應用的權限,下次打開會再次詢問是否給予權限。這個功能對於在乎權限的人非常有用,大多數時候我們會忘記這些應用獲取過那些權限,而應用持續幾個月的更新,當初索要權限的目的可能已經改變。用戶需要一個重新考慮的機會。
  • mall改造:自定義註解和shiro權限結合,解放生產力
    這次我們聊一聊litemall中的shiro和自定義註解的組合通過上面的介紹,我們可以得知,litemall本次採用的方式,是沒有將前端與按鈕的權限一起放到資料庫中,而是將前端的頁面和權限和按鈕權限,通過註解的方式獲取。
  • 查看和管理 iPhone 應用訪問位置數據的權限
    您可以隨時在設置中調整位置權限設置,當應用請求訪問位置時也會出現提示。在調整訪問位置數據權限時,除了「始終」和「從不」之外,所有應用還包含「使用 App 期間」選項。如果您想重置應用的位置權限,則還有一個「詢問下一次」選項。
  • ToB產品設計:用戶權限系統解析
    文章以產品經理的角度思考,對權限系統的核心進行剖析,抽象出權限系統中的核心要素,並結合釘釘的一些做法對權限系統進行介紹。面對複雜的大型企業組織架構,權限系統的設計和實現複雜性會成倍的增加。阿里釘釘是很多人都在使用,並且也是複雜型的後臺管理系統,本文會結合釘釘的一些做法對權限系統進行介紹。
  • 手把手教你做系統權限設計,看完不要說還不會
    用戶 是發起操作的主體,按類型分可分為2B和2C用戶,可以是後臺管理系統的用戶,可以是OA系統的內部員工,也可以是面向C端的用戶,比如阿里雲的用戶。角色 起到了橋梁的作用,連接了用戶和權限的關係,每個角色可以關聯多個權限,同時一個用戶關聯多個角色,那麼這個用戶就有了多個角色的多個權限。有人會問了為什麼用戶不直接關聯權限呢?
  • 極速後臺框架 FastAdmin v1.2.0 重磅更新
    更新日誌 v1.2.0.20201001_beta 全新前臺首頁和後臺登錄頁 新增插件純淨模式 新增後臺多套全新皮膚樣式 新增列表固定前後列功能 新增列表標題滾動置頂功能 新增文件分片上傳功能 新增列表跨頁記憶已選中的行 新增列表分頁大小記憶功能
  • 後臺產品設計方法論:RBAC模型概要分析(附案例分析)
    RBAC(Role-Based Access Control ,基於角色的訪問控制)模型是後臺產品設計中常用模型。本文屬於事後總結,希望對各位讀者有一定的幫助,當然也有一定的局限性,歡迎留下你的評論,相互探討。