關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

7 評(píng)論 11774 瀏覽 94 收藏 14 分鐘

合理的后臺(tái)權(quán)限設(shè)計(jì)體系將有助于協(xié)助用戶(hù)處理更多事務(wù),提升用戶(hù)的操作效率,也降低風(fēng)險(xiǎn)發(fā)生的可能性。那么,你了解權(quán)限設(shè)計(jì)中的界面設(shè)計(jì)需要注意哪些事項(xiàng)嗎嗎?本篇文章里,作者從將為我們解答,一起來(lái)看一下。

在設(shè)計(jì)系統(tǒng)權(quán)限模塊時(shí),需要考慮兩個(gè)方面:功能權(quán)限和數(shù)據(jù)權(quán)限。功能權(quán)限與菜單以及菜單頁(yè)面內(nèi)的按鈕相關(guān),而數(shù)據(jù)權(quán)限則與業(yè)務(wù)相關(guān)。

當(dāng)處理一些具有規(guī)則調(diào)整功能時(shí),最好設(shè)計(jì)一個(gè)手動(dòng)維護(hù)的方案,以便于后期的維護(hù)和擴(kuò)展。否則,運(yùn)營(yíng)經(jīng)常會(huì)要求研發(fā)修改配置,這種工作既沒(méi)有技術(shù)含量,時(shí)間長(zhǎng)了還很煩人。

整個(gè)PRD的框架思考以及落地一般如下幾個(gè)方面:

I. 概述:

項(xiàng)目概述、項(xiàng)目目標(biāo)、目標(biāo)用戶(hù)、業(yè)務(wù)需求

II. 用戶(hù)角色權(quán)限設(shè)計(jì):

用戶(hù)角色的定義、權(quán)限的定義、用戶(hù)角色和權(quán)限之間的關(guān)系、角色權(quán)限的繼承關(guān)系

III. 功能需求:

  • 角色管理:添加角色、編輯角色、刪除角色
  • 權(quán)限管理:添加權(quán)限、編輯權(quán)限、刪除權(quán)限
  • 用戶(hù)管理:添加用戶(hù)、編輯用戶(hù)、刪除用戶(hù)
  • 角色權(quán)限管理:分配角色權(quán)限、修改角色權(quán)限、查看角色權(quán)限

IV. 界面設(shè)計(jì)

角色管理界面、權(quán)限管理界面、用戶(hù)管理界面、角色權(quán)限管理界面

V. 數(shù)據(jù)庫(kù)設(shè)計(jì)

用戶(hù)表設(shè)計(jì)、角色表設(shè)計(jì)、權(quán)限表設(shè)計(jì)、用戶(hù)角色關(guān)聯(lián)表設(shè)計(jì)、角色權(quán)限關(guān)聯(lián)表設(shè)計(jì)

VI. 技術(shù)選型

服務(wù)器端框架選擇、數(shù)據(jù)庫(kù)選擇、前端框架選擇VII. 安全設(shè)計(jì)用戶(hù)身份認(rèn)證、用戶(hù)授權(quán)、數(shù)據(jù)加密、日志管理

VIII. 運(yùn)維設(shè)計(jì)

部署方式、服務(wù)器資源規(guī)劃、數(shù)據(jù)備份和恢復(fù)

01 概述、目標(biāo)、用戶(hù)、業(yè)務(wù)需求

概述:

用戶(hù)角色權(quán)限系統(tǒng)是一種針對(duì)企業(yè)應(yīng)用的權(quán)限管理系統(tǒng),它能夠?qū)ο到y(tǒng)中的用戶(hù)進(jìn)行分類(lèi),按照用戶(hù)分類(lèi)的不同,分配不同的權(quán)限,保障系統(tǒng)資源的安全和合理的使用。本系統(tǒng)采用模塊化設(shè)計(jì),可以方便地對(duì)系統(tǒng)進(jìn)行擴(kuò)展和定制,滿(mǎn)足企業(yè)不同的業(yè)務(wù)需求

目標(biāo):

  • 實(shí)現(xiàn)用戶(hù)權(quán)限的細(xì)粒度管理,確保用戶(hù)只能訪(fǎng)問(wèn)其擁有權(quán)限的功能和數(shù)據(jù)。
  • 實(shí)現(xiàn)用戶(hù)角色的分層管理,使得用戶(hù)角色可以隨著公司業(yè)務(wù)的發(fā)展進(jìn)行擴(kuò)展和調(diào)整。
  • 實(shí)現(xiàn)用戶(hù)角色的授權(quán)管理,確保用戶(hù)角色的授權(quán)過(guò)程規(guī)范化、可追溯、可控。
  • 實(shí)現(xiàn)用戶(hù)角色的審批管理,確保角色權(quán)限的變更得到有效審批和記錄。

用戶(hù):

企業(yè)應(yīng)用的管理員、員工、運(yùn)維人員等

業(yè)務(wù)需求:

例如用戶(hù)運(yùn)營(yíng)可以訪(fǎng)問(wèn)幫助反饋、不可以訪(fǎng)問(wèn)廣告配置功能

02 用戶(hù)角色權(quán)限設(shè)計(jì)

用戶(hù)角色權(quán)限功能通常是指在一個(gè)系統(tǒng)中,為不同的用戶(hù)分配不同的角色,并在每個(gè)角色上定義一組特定的權(quán)限,以控制用戶(hù)對(duì)系統(tǒng)中各項(xiàng)功能的訪(fǎng)問(wèn)和操作

關(guān)于用戶(hù)角色、權(quán)限、角色權(quán)限之間的定義和關(guān)系:

  • 用戶(hù)角色的定義:用戶(hù)角色是指在一個(gè)系統(tǒng)中為不同類(lèi)型的用戶(hù)或者用戶(hù)組定義的一個(gè)權(quán)限集合,可以用于控制用戶(hù)能夠訪(fǎng)問(wèn)和執(zhí)行的特定功能和操作。
  • 權(quán)限的定義:權(quán)限是指一個(gè)用戶(hù)或者用戶(hù)組在系統(tǒng)中被授予的訪(fǎng)問(wèn)或者執(zhí)行特定功能或操作的能力。權(quán)限可以是系統(tǒng)中的一個(gè)功能、一個(gè)數(shù)據(jù)資源或者一個(gè)操作。
  • 角色和權(quán)限之間的關(guān)系:角色和權(quán)限之間的關(guān)系是一對(duì)多的關(guān)系,一個(gè)角色可以包含多個(gè)權(quán)限,而一個(gè)權(quán)限可以被多個(gè)角色所包含。
  • 角色權(quán)限的繼承關(guān)系:在某些情況下,一個(gè)用戶(hù)角色可能需要繼承其他用戶(hù)角色的權(quán)限。這可以通過(guò)定義一個(gè)角色之間的繼承關(guān)系來(lái)實(shí)現(xiàn)。例如,一個(gè)普通用戶(hù)角色可能需要繼承某些管理員角色的權(quán)限,以便能夠執(zhí)行某些特定操作。

Tips

在實(shí)現(xiàn)角色權(quán)限的繼承關(guān)系時(shí),通常會(huì)使用一種稱(chēng)為“角色繼承”的技術(shù),它允許子角色繼承父角色的權(quán)限。例如,如果有一個(gè)“管理員”角色,它具有所有管理員權(quán)限,而“高級(jí)管理員”角色可以繼承“管理員”角色的所有權(quán)限并添加一些額外的權(quán)限。

在數(shù)據(jù)庫(kù)中,可以使用一個(gè)角色表和一個(gè)權(quán)限表來(lái)實(shí)現(xiàn)角色繼承的關(guān)系。其中,角色表中保存了所有的角色信息,而權(quán)限表中保存了所有的權(quán)限信息。此外,還可以創(chuàng)建一個(gè)角色權(quán)限關(guān)聯(lián)表,用于保存每個(gè)角色與其對(duì)應(yīng)權(quán)限的關(guān)系。

角色表可能包括以下字段:

  • id: 角色I(xiàn)D
  • name: 角色名稱(chēng)
  • parent_id: 父角色I(xiàn)D

權(quán)限表可能包括以下字段:

  • id: 權(quán)限ID
  • name: 權(quán)限名稱(chēng)
  • description: 權(quán)限描述

角色權(quán)限關(guān)聯(lián)表可能包括以下字段:

  • role_id: 角色I(xiàn)D
  • permission_id: 權(quán)限ID

通過(guò)使用這些表,可以構(gòu)建一個(gè)角色繼承的關(guān)系圖,其中每個(gè)角色都可以繼承其父角色的權(quán)限。當(dāng)給定一個(gè)角色時(shí),可以使用關(guān)聯(lián)表來(lái)查找其對(duì)應(yīng)的所有權(quán)限,并將其繼承的父角色的權(quán)限也添加到其中。這樣,即使沒(méi)有顯式為子角色分配權(quán)限,它們也可以從其父角色繼承權(quán)限。

在實(shí)現(xiàn)時(shí),還需要考慮如何處理角色繼承的多層級(jí)關(guān)系以及如何處理權(quán)限的沖突。例如,如果子角色和父角色都具有相同的權(quán)限,應(yīng)該選擇哪個(gè)權(quán)限。這些問(wèn)題可以通過(guò)一些規(guī)則來(lái)解決,例如可以?xún)?yōu)先選擇子角色的權(quán)限,或者使用一些類(lèi)似于“合并”的策略來(lái)合并相同的權(quán)限。

03 功能需求

下面是一個(gè)簡(jiǎn)單的功能需求分析,可以根據(jù)實(shí)際情況進(jìn)行擴(kuò)展。

  1. 用戶(hù)管理模塊添加用戶(hù):輸入用戶(hù)名、密碼、郵箱、電話(huà)等基本信息編輯用戶(hù):修改用戶(hù)的基本信息刪除用戶(hù):刪除用戶(hù)用戶(hù)列表:展示所有用戶(hù)的基本信息查看用戶(hù)詳情:查看某個(gè)用戶(hù)的詳細(xì)信息,包括角色和權(quán)限等信息
  2. 角色管理模塊添加角色:輸入角色名稱(chēng)、描述等基本信息編輯角色:修改角色的基本信息刪除角色:刪除角色角色列表:展示所有角色的基本信息查看角色詳情:查看某個(gè)角色的詳細(xì)信息,包括權(quán)限等信息
  3. 權(quán)限管理模塊添加權(quán)限:輸入權(quán)限名稱(chēng)、描述等基本信息編輯權(quán)限:修改權(quán)限的基本信息刪除權(quán)限:刪除權(quán)限權(quán)限列表:展示所有權(quán)限的基本信息
  4. 角色權(quán)限管理模塊角色權(quán)限關(guān)聯(lián):為某個(gè)角色分配權(quán)限查看角色權(quán)限關(guān)聯(lián):查看某個(gè)角色的權(quán)限列表
  5. 操作日志模塊

系統(tǒng)會(huì)記錄用戶(hù)登錄、退出、權(quán)限變更等操作,管理員可以查詢(xún)系統(tǒng)日志,以便追溯系統(tǒng)操作。

04 界面設(shè)計(jì)注意事項(xiàng)

設(shè)計(jì)用戶(hù)管理界面需要考慮以下幾個(gè)方面:

1 顯示用戶(hù)列表:

在界面中展示用戶(hù)列表,包括用戶(hù)名、角色、創(chuàng)建時(shí)間、最后登錄時(shí)間等信息。

2 新增用戶(hù):

提供新增用戶(hù)的功能,需要輸入用戶(hù)名、密碼、郵箱等必要信息,同時(shí)可以選擇用戶(hù)角色。

3 編輯用戶(hù):

提供編輯用戶(hù)信息的功能,可以修改用戶(hù)名、密碼、郵箱等信息,也可以修改用戶(hù)角色。

4 刪除用戶(hù):

提供刪除用戶(hù)的功能,需要用戶(hù)確認(rèn)操作。

5 搜索、篩選用戶(hù):

提供搜索用戶(hù)的功能,可以按照用戶(hù)名、郵箱等關(guān)鍵字搜索用戶(hù)??筛鶕?jù)自定義的標(biāo)簽進(jìn)行篩選。

6 分頁(yè):

當(dāng)用戶(hù)數(shù)量較多時(shí),需要提供分頁(yè)功能,讓用戶(hù)方便地瀏覽和管理用戶(hù)。

7 角色管理:

提供角色管理功能,可以新增、編輯、刪除角色,為每個(gè)角色分配對(duì)應(yīng)的權(quán)限。

8 權(quán)限管理:

提供權(quán)限管理功能,可以新增、編輯、刪除權(quán)限,將權(quán)限分配給不同的角色。

9 用戶(hù)密碼重置:

管理員可以為用戶(hù)重置密碼,以便用戶(hù)可以重新登錄系統(tǒng)。

簡(jiǎn)單界面示意圖 – 用戶(hù)管理

下面是一個(gè)簡(jiǎn)單的用戶(hù)角色權(quán)限管理功能的用戶(hù)管理界面示意圖:

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

在這個(gè)界面中,列出了系統(tǒng)中所有的用戶(hù),包括他們的用戶(hù)名、角色和權(quán)限。管理員可以通過(guò)這個(gè)界面對(duì)用戶(hù)進(jìn)行管理,如添加、編輯和刪除用戶(hù)。同時(shí),管理員也可以通過(guò)這個(gè)界面查看每個(gè)用戶(hù)所具有的權(quán)限,以及他們所屬的角色。

簡(jiǎn)單界面示意圖 – 角色管理

一般角色管理與角色權(quán)限管理分開(kāi)做,這里的示意圖為融合在一起了。

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

在這個(gè)界面中,包括了角色列表和操作按鈕兩部分。在角色列表中,每行表示一個(gè)角色,包括了角色名稱(chēng)和該角色所具有的權(quán)限。操作按鈕則包括了添加、編輯和刪除角色三個(gè)功能。

簡(jiǎn)單界面示意圖 – 權(quán)限管理

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

關(guān)于系統(tǒng)后臺(tái)的用戶(hù)權(quán)限設(shè)計(jì)與思考

權(quán)限管理一般由開(kāi)發(fā)維護(hù)使用,業(yè)務(wù)只需要維護(hù)使用用戶(hù)管理、角色管理。

05 技術(shù)實(shí)現(xiàn)方案

  • 前端技術(shù): React/Vue
  • 后端技術(shù): Node.js/Java/Python
  • 數(shù)據(jù)庫(kù): MySQL/Oracle/MongoDB
  • 接口協(xié)議: RESTful API
  • 安全認(rèn)證: JWT
  • 部署方式: Docker/Kubernetes
  • 代碼托管: Git/GitHub/GitLab
  • 開(kāi)發(fā)工具: VSCode/IntelliJ IDEA/PyCharm

專(zhuān)欄作家

鄒偉,微信公眾號(hào):PMBass,人人都是產(chǎn)品經(jīng)理專(zhuān)欄作家。擅長(zhǎng)功能設(shè)計(jì)、原型設(shè)計(jì),專(zhuān)注電商、游戲、人工智能等多領(lǐng)域。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 如果權(quán)限有四級(jí)結(jié)構(gòu),請(qǐng)問(wèn)是設(shè)置多個(gè)目錄,還是多個(gè)菜單呢

    來(lái)自廣東 回復(fù)
    1. 兩級(jí)目錄 or 兩級(jí)菜單?

      來(lái)自廣東 回復(fù)
    2. 我也疑惑

      來(lái)自廣東 回復(fù)
  2. 講了半天也沒(méi)講清楚要表達(dá)什么,就是用戶(hù)基于角色綁定權(quán)限。。。

    來(lái)自上海 回復(fù)
    1. 你想聽(tīng)啥

      來(lái)自上海 回復(fù)
    2. 這類(lèi)需求基本都是用戶(hù)基于角色綁定權(quán)限,再就是選擇不同的RBAC,你是脫離角色綁定權(quán)限?新的見(jiàn)解可以分享下

      來(lái)自上海 回復(fù)
    3. 這種都是太常見(jiàn)了。數(shù)據(jù)權(quán)限怎么控制
      組織架構(gòu)和權(quán)限的關(guān)系

      來(lái)自上海 回復(fù)