關(guān)于產(chǎn)品權(quán)限管理系統(tǒng)

權(quán)限管理是做B端后臺管理系統(tǒng)比較常見也繞不開的一個模塊,這個模塊保證不同類型使用者能夠合理使用管理后臺,相對來說是后臺系統(tǒng)一個比較復(fù)雜的模塊;在我們平日使用的C端產(chǎn)品中,權(quán)限管理也是無處不在的,只是相對管理系統(tǒng)來說會簡單得多;

權(quán)限管理的業(yè)務(wù)使用場景是:某一個組織內(nèi)部的不同類型的人員,需要在一個系統(tǒng)里面協(xié)同完成某些業(yè)務(wù)操作;同時這些不同類型的人員需要有不同的使用模塊,操作不同的模塊資源;

在后臺系統(tǒng)中,權(quán)限的表現(xiàn)方式是,控制某個用戶對系統(tǒng)某個功能模塊的操作、對系統(tǒng)中存在文件的增刪改查、對某個菜單的訪問、對頁面上某個按鈕某個圖片的可見性、對某些數(shù)據(jù)的可見性等;

通過權(quán)限的表現(xiàn)方式,我們可以歸納權(quán)限管理包含兩個部分:控制用戶訪問某些功能、控制用戶訪問某些數(shù)據(jù);系統(tǒng)功能、系統(tǒng)數(shù)據(jù)都是系統(tǒng)資源的表現(xiàn)形式,實則權(quán)限控制的本質(zhì)就是就是用戶與系統(tǒng)資源的配置;

我們通過一個例子來說明;

在論壇時代,進入某個論壇,有很多用戶在某個討論互聯(lián)網(wǎng)的版塊發(fā)帖、跟帖、評論等;但是不同用戶可操作的內(nèi)容是不同的;有的用戶可對版塊內(nèi)的帖子進行刪除操作,甚至可以禁止某些用戶評論跟帖,而有的用戶只能發(fā)帖、評論;我們都知道,可以刪帖、禁止跟帖評論操作的一般都是版主、管理員之類的,發(fā)帖、評論的都是一些普通用戶;

這個例子中,發(fā)帖、跟帖評論、刪帖、禁止發(fā)言都是一些操作的權(quán)限,而有的用戶有著數(shù)個權(quán)限,有的用戶只有區(qū)區(qū)一個權(quán)限;

到這里,我們就需要引入一個基于用戶的新的概念:用戶角色;

用戶角色是什么;用戶角色是一定數(shù)量的權(quán)限的集合,一定操作權(quán)限的載體;說直白點,角色就是不同權(quán)限組合的載體;

例子中版主、管理員就是角,發(fā)帖、跟帖評論、刪帖、禁止發(fā)言就是權(quán)限;對于論壇來說,不論是版主還是普通成員,他們都是用戶,只不過各自的權(quán)限不同;但系統(tǒng)設(shè)計不可能根據(jù)不同的類型的用戶單獨去配置功能權(quán)限,如果后期增添功能,就需要分別對不同類型的用戶配置不同的功能權(quán)限;這個操作不論是通過誰來操作,都無法做到靈活配置;

用戶通過角色與權(quán)限進行關(guān)聯(lián),構(gòu)造成“用戶-角色-權(quán)限”的授權(quán)模型;在這個模型中,用戶與角色之間,角色與權(quán)限之間,一般是多對多的關(guān)系;一個用戶擁有若干角色,一個角色擁有若干權(quán)限;

要給某個用戶授予不同的權(quán)限,不需要直接將權(quán)限授予用戶,將不同角色賦予給用戶即可;授予用戶不同角色,即是授予用戶不同權(quán)限;

說到這里,基本對用戶權(quán)限做了一個完整的梳理,我們在控制用戶操作功能權(quán)限的時候,可以通過授予不同角色不同的功能權(quán)限,然后通過對不同類型用戶授予不同的用戶角色,這樣,就控制了不同用戶之間的不同功能操作權(quán)限,形成一個功能權(quán)限的完整閉環(huán);

那么在實際設(shè)計與操作中是如何表現(xiàn)的;

系統(tǒng)在初始化時會賦予某些用戶管理員角色,管理員有著系統(tǒng)所有模塊的功能操作權(quán)限;管理員通過創(chuàng)建不同用戶角色,給不同用戶角色授予不同功能權(quán)限;同時創(chuàng)建子賬號用戶,給這些子賬號用戶授予不同用戶角色,那么不同用戶即可擁有不同操作權(quán)限;

即流程就是:1)、管理員創(chuàng)建用戶角色;2)、管理員創(chuàng)建子賬號;3)、授予不同用戶不同用戶角色;4)、不同用戶擁有不同功能操作權(quán)限;

前面我們說到,通過權(quán)限的表現(xiàn)方式,我們可以歸納權(quán)限管理包含兩個部分:控制用戶訪問某些功能、控制用戶訪問某些數(shù)據(jù);實則系統(tǒng)權(quán)限應(yīng)該包含兩個模塊:功能模塊、數(shù)據(jù)模塊;

我們再來通過一個例子說明;

某個管理系統(tǒng),有財務(wù)、銷售、客服等不同角色;

在銷售部門,有不同級別的職位,不同職位的員工都能查看銷售額這個模塊的數(shù)據(jù);但是由于數(shù)據(jù)的重要性與商業(yè)價值,需要不同級別的員工能夠看到不同的數(shù)據(jù);

例如總監(jiān)可以看到全國的銷售額,該總監(jiān)下屬某個負責華東業(yè)務(wù)的總經(jīng)理只能看到華東地區(qū)的銷售額,該總監(jiān)下屬某個負責華北業(yè)務(wù)的總經(jīng)理只能看到華北地區(qū)的銷售額;總監(jiān)、區(qū)域經(jīng)理,都能看到銷售額這個模塊的數(shù)據(jù),但由于職位不同,能夠看到的數(shù)據(jù)范圍也就不同;

在財務(wù)部門、客服部門,同樣有著相同的問題存在;財務(wù)總監(jiān)、審計員能夠看到的數(shù)據(jù)范圍是不一樣的,客服主管、客服經(jīng)理能夠看到的數(shù)據(jù)范圍也是不一樣的;

產(chǎn)生這種不同職位看到不同數(shù)據(jù)范圍的需求,是公司內(nèi)部組織架構(gòu)的職能結(jié)構(gòu)決定的;

上面的兩個例子可以看到,對于業(yè)務(wù)不復(fù)雜的產(chǎn)品,僅從功能去設(shè)計是足夠的;當系統(tǒng)變得復(fù)雜的時候,就需要在功能限制的基礎(chǔ)上,加上數(shù)據(jù)范圍的限制;可以理解為,數(shù)據(jù)權(quán)限是對功能權(quán)限的補充,兩者并不是獨立的分類,而是權(quán)限管理中相輔相成的兩個部分;

所以在涉及到管理系統(tǒng)的權(quán)限管理模塊時,其實是包含兩個模塊的:功能權(quán)限模塊、數(shù)據(jù)權(quán)限模塊;

那么我們在設(shè)計權(quán)限管理模塊時,應(yīng)該怎么來劃分功能權(quán)限和數(shù)據(jù)權(quán)限呢;可以從兩個維度來做劃分:橫向與縱向;橫向劃分對應(yīng)功能權(quán)限,縱向劃分對應(yīng)數(shù)據(jù)權(quán)限;

橫向按組織內(nèi)部組織架構(gòu)業(yè)務(wù)結(jié)構(gòu)類型來劃分,前提是公司在實際業(yè)務(wù)運轉(zhuǎn)中對內(nèi)部不同類型、結(jié)構(gòu)已經(jīng)作了分割,例如運營部、銷售部、客服部,不同部門看到的功能模塊不同;

縱向按照不同角色的等級關(guān)系進行劃分,數(shù)據(jù)權(quán)限的劃分往往基于公司內(nèi)部組織架構(gòu)的職能結(jié)構(gòu)進行劃分,從而滿足管理的需求;例如銷售總監(jiān)和銷售經(jīng)理在某些重疊功能模塊上看到的數(shù)據(jù)范圍不同;

處理好功能權(quán)限和數(shù)據(jù)權(quán)限對系統(tǒng)資源的分配,不同用戶角色的劃分及用戶角色之間的關(guān)聯(lián)就有較為清晰的界限,為后期的產(chǎn)品迭代提供足夠可擴展空間;

說到這里,那么問題來了,功能權(quán)限和數(shù)據(jù)權(quán)限的區(qū)別到底是什么,兩者的邊界到底在哪里,如何做兩者之間的界限劃分;

我的理解是,其實功能權(quán)限和數(shù)據(jù)權(quán)限很難做到非常清晰的界限劃分,不同公司內(nèi)部不同業(yè)務(wù)類型,會決定不同功能權(quán)限、數(shù)據(jù)權(quán)限的界限劃分,我們只有在具體問題時做具體分析;有一點需要明確的是,兩者并不是相互獨立的關(guān)系,而是一種相輔相成的關(guān)系,是為了能夠更好地管理內(nèi)部寫作與提升內(nèi)部的協(xié)作效率;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容