從產(chǎn)品經(jīng)理視角談?dòng)脩魴?quán)限

3 評論 3028 瀏覽 28 收藏 10 分鐘

只要在系統(tǒng)中存在多個(gè)用戶,必然會(huì)涉及到用戶權(quán)限的處理問題。這篇文章,作者總結(jié)了用戶權(quán)限的相關(guān)問題,包括定義、搭建和自己的思考,供各位參考。

前幾天與一位產(chǎn)品朋友閑聊的時(shí)候有聊到某項(xiàng)目的用戶權(quán)限應(yīng)該如何設(shè)計(jì)的話題,當(dāng)時(shí)在我腦海中閃過了許多解決方案,但是我卻不知道如何有邏輯性的進(jìn)行表達(dá),于是我意識到是該總結(jié)輸出的時(shí)候了……

一、什么是用戶權(quán)限

用戶權(quán)限是所有應(yīng)用系統(tǒng)最底層的邏輯,只要系統(tǒng)中存在多用戶,那么就必然會(huì)涉及到用戶權(quán)限的概念。用戶權(quán)限是集模塊權(quán)限、功能權(quán)限、數(shù)據(jù)權(quán)限為一體的統(tǒng)稱。

下面以一個(gè)ERP系統(tǒng)的部分場景為例來解釋說明什么是用戶權(quán)限,例如在一個(gè)ERP應(yīng)用系統(tǒng)中包含了銷售、采購、財(cái)務(wù)等功能。

模塊權(quán)限

模塊權(quán)限也叫菜單權(quán)限或應(yīng)用權(quán)限,即決定一個(gè)用戶在應(yīng)用系統(tǒng)中可以使用哪些模塊菜單。

在示例中,公司的銷售人員就只能查看與銷售相關(guān)的業(yè)務(wù)模塊,而不應(yīng)該能看到財(cái)務(wù)相關(guān)的功能模塊。因此我們可以通過配置模塊權(quán)限來實(shí)現(xiàn)不同用戶的模塊隔離。

功能權(quán)限

功能權(quán)限也叫按鈕權(quán)限,即決定一個(gè)用戶在一個(gè)業(yè)務(wù)模塊中可以使用哪些功能按鈕。

在示例中,普通銷售人員在銷售訂單管理模塊中只能有新增訂單、編輯訂單、刪除訂單、申請優(yōu)惠等功能,而銷售總監(jiān)除了有這些功能外,還會(huì)多一些審批優(yōu)惠、查看銷售報(bào)表等功能。因此我們可以通過配置功能權(quán)限來實(shí)現(xiàn)不同用戶在同一個(gè)業(yè)務(wù)模塊中的功能按鈕不同。

數(shù)據(jù)權(quán)限

數(shù)據(jù)權(quán)限可以細(xì)拆為查看數(shù)據(jù)權(quán)限和管理數(shù)據(jù)權(quán)限。

查看數(shù)據(jù)權(quán)限,即決定一個(gè)用戶在模塊中可以查看哪些數(shù)據(jù)記錄。在示例中,普通銷售人員在銷售訂單管理模塊中只能查看自己創(chuàng)建的銷售訂單,而銷售總監(jiān)則可以查看整個(gè)銷售部門的銷售訂單記錄。因此我們可以通過配置查看數(shù)據(jù)權(quán)限來實(shí)現(xiàn)不同用戶在同一個(gè)業(yè)務(wù)模塊中的數(shù)據(jù)隔離。

管理數(shù)據(jù)權(quán)限,即決定一個(gè)用戶在可以查看的數(shù)據(jù)基礎(chǔ)之上允許對哪些數(shù)據(jù)進(jìn)行操作。在示例中,所有采購人員在采購訂單管理模塊中都可以查看所有的采購訂單,但是采購人員A只能對自己創(chuàng)建的采購訂單進(jìn)行編輯、刪除等操作,不能對其他采購人員的訂單進(jìn)行操作。因此我們可以通過配置管理數(shù)據(jù)權(quán)限來實(shí)現(xiàn)不同用戶在同一個(gè)業(yè)務(wù)模塊中查看同樣數(shù)據(jù)的情況下,可操作的數(shù)據(jù)不同。

用戶權(quán)限的核心就是在一個(gè)應(yīng)用系統(tǒng)中控制哪些用戶能查看哪些模塊的哪些數(shù)據(jù)以及可以對哪些數(shù)據(jù)做哪些操作。

這句話看上去可能比較繞,但帶入實(shí)際業(yè)務(wù)流程就會(huì)很好理解了。

二、為什么要設(shè)置用戶權(quán)限

在實(shí)際業(yè)務(wù)場景中,每個(gè)用戶都是有自己的部門和崗位,所以設(shè)置用戶權(quán)限的第一個(gè)目的就是職責(zé)分明。不同部門不同崗位的用戶在應(yīng)用系統(tǒng)中都需要有各自對應(yīng)匹配的功能流程,這不僅可以簡化用戶操作和提升用戶體驗(yàn),還避免因功能模塊繁雜造成用戶的困擾與混淆。

其次是為了數(shù)據(jù)安全保障。各類數(shù)據(jù)都有著不同的敏感性,例如公司的所有客戶信息、供應(yīng)商信息、財(cái)務(wù)信息等一旦被泄露均可能產(chǎn)生嚴(yán)重后果。通過設(shè)置用戶權(quán)限就能將不同的數(shù)據(jù)信息分別授權(quán)給部分指定人員,這樣就有效防止了數(shù)據(jù)被泄露的風(fēng)險(xiǎn)。

另外還可以用于做個(gè)性化體驗(yàn)等操作,例如在SaaS版系統(tǒng)中可以利用后臺運(yùn)營系統(tǒng)的用戶權(quán)限給部分用戶開放灰度測試功能或給指定用戶開放指定功能,以便于滿足不同用戶的多樣化業(yè)務(wù)需求。

三、如何搭建用戶權(quán)限

搭建一個(gè)好的用戶權(quán)限體系就像修房子搭建一個(gè)穩(wěn)定的地基一樣。因此在設(shè)計(jì)用戶權(quán)限體系時(shí)需要盡可能設(shè)置的通用一些,這樣才有利于后續(xù)的系統(tǒng)建設(shè)以及響應(yīng)需求變更。

我把之前負(fù)責(zé)和參與過的所有產(chǎn)品和項(xiàng)目綜合整理出了一個(gè)通用的用戶權(quán)限配置模型,如下圖所示。

模塊權(quán)限常用的搭建規(guī)則為

?通常情況下,一個(gè)功能頁面就是一個(gè)菜單配置項(xiàng),然后可以根據(jù)實(shí)際的業(yè)務(wù)場景來決定是否配置二級或三級菜單等。

查看數(shù)據(jù)權(quán)限常用的搭建規(guī)則有以下幾點(diǎn)(可根據(jù)實(shí)際業(yè)務(wù)情況選擇)

?我創(chuàng)建的:僅能查看自己創(chuàng)建的數(shù)據(jù)。

?我參與的:僅能查看與自己有關(guān)聯(lián)的數(shù)據(jù),如自己創(chuàng)建的、業(yè)務(wù)數(shù)據(jù)審批人或抄送人是自己的。

?本級部門創(chuàng)建的:僅能查看自己所在部門本級所有人員創(chuàng)建的數(shù)據(jù)。

?本級及上級部門創(chuàng)建的:僅能查看自己所在部門本級及上級所有人員創(chuàng)建的數(shù)據(jù)。

?本級及下級部門創(chuàng)建的:僅能查看自己所在部門本級及下級所有人員創(chuàng)建的數(shù)據(jù)。

?全部:可以查看該模塊的所有數(shù)據(jù)。

管理數(shù)據(jù)權(quán)限常用的搭建規(guī)則有以下幾點(diǎn)(可根據(jù)實(shí)際業(yè)務(wù)情況選擇)

?我創(chuàng)建的:僅可以操作自己創(chuàng)建的數(shù)據(jù)。

?我可見的:僅可以操作與自己有關(guān)聯(lián)的數(shù)據(jù),如自己創(chuàng)建的、業(yè)務(wù)數(shù)據(jù)審批人或抄送人是自己的。

?我可見的:所有能查看的數(shù)據(jù)都可以操作。

功能權(quán)限常用的搭建規(guī)則為

?按照模塊中的功能操作按鈕列舉,越詳細(xì)越好。

有些多應(yīng)用型的系統(tǒng)則可以在模塊菜單的前面再套一層應(yīng)用權(quán)限配置,如下圖。

在實(shí)際項(xiàng)目開發(fā)過程中,用戶權(quán)限也不一定全部都需要做成可配置項(xiàng),可根據(jù)項(xiàng)目的實(shí)際情況將上述搭建規(guī)則的部分權(quán)限直接在代碼里寫死控制,只不過這么干的后果就是當(dāng)后期有關(guān)于權(quán)限的需求變動(dòng)時(shí),需要由程序員修改代碼并發(fā)版之后才能生效。

四、補(bǔ)充說明與總結(jié)

在實(shí)際業(yè)務(wù)中,用戶角色與用戶通常是多對多的情況,即一個(gè)角色下存在多個(gè)用戶,而一個(gè)用戶也可能擁有多個(gè)角色。所以為了方便在系統(tǒng)中管理,我們可以設(shè)置“角色組”的概念。即將多個(gè)用戶角色打包為一個(gè)角色分組,并將這個(gè)分組賦予用戶,這樣一個(gè)用戶就同時(shí)擁有了這個(gè)角色組下的多個(gè)角色的權(quán)限。但是當(dāng)一個(gè)用戶同時(shí)擁有多個(gè)角色權(quán)限時(shí),又會(huì)出現(xiàn)另外一個(gè)問題是這位用戶在系統(tǒng)中最終的權(quán)限是什么呢?這個(gè)問題通常的解決方案有2種,一種是多個(gè)角色的權(quán)限取并集;另一種是讓用戶手動(dòng)選擇自己的當(dāng)前角色。具體采用哪種解決方案可根據(jù)實(shí)際業(yè)務(wù)場景來決定。

關(guān)于數(shù)據(jù)權(quán)限還有一個(gè)常見的問題是當(dāng)一位用戶從A部門轉(zhuǎn)移到B部門之后,那這位用戶之前在A部門產(chǎn)生的數(shù)據(jù)是保留在A部門還是跟隨用戶轉(zhuǎn)移到B部門呢?這個(gè)問題需要在做權(quán)限設(shè)計(jì)時(shí)提前考慮到,但具體如何處理也是需要根據(jù)實(shí)際業(yè)務(wù)場景來決定。

用戶權(quán)限是應(yīng)用系統(tǒng)的基礎(chǔ),沒有絕對完美的建設(shè)方案,每個(gè)應(yīng)用系統(tǒng)都需要結(jié)合實(shí)際業(yè)務(wù)場景和實(shí)際項(xiàng)目情況來搭建出最合適的用戶權(quán)限體系。

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

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

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 小勇開始價(jià)值輸出了 以前在慧貿(mào)天下待過?

    來自四川 回復(fù)
  2. 權(quán)限是為了安全開展業(yè)務(wù),而業(yè)務(wù)是靈活多變的,權(quán)限最核心的問題是安全與便捷的有機(jī)結(jié)合

    來自四川 回復(fù)
  3. 軟件可獲得的用戶數(shù)據(jù)特別完全,但保密性十分重要。

    來自中國 回復(fù)