設(shè)計(jì)實(shí)例:如何以“用戶”為單位的進(jìn)行權(quán)限設(shè)計(jì)(一)

19 評論 35494 瀏覽 142 收藏 10 分鐘

權(quán)限設(shè)計(jì)可以很好地對保證公司信息系統(tǒng)的安全。權(quán)限設(shè)計(jì)的方式主要有:以“用戶”為單位、以“權(quán)限”為單位和以“用戶”與“權(quán)限”結(jié)合的權(quán)限設(shè)計(jì)方式。這篇文章針對以“用戶”為單位的權(quán)限設(shè)計(jì)方式進(jìn)行展開解讀。

最近公司發(fā)生一件大事:公司一員工,竊取網(wǎng)站后臺管理功能資源以及網(wǎng)站銷售額等數(shù)據(jù),事后發(fā)現(xiàn)是敵對公司派人有意所為。電視劇場景在現(xiàn)實(shí)重演,有些吃驚,為防止此類事情再次發(fā)生,臨危受命,針對權(quán)限管理進(jìn)行重構(gòu)。

為何有權(quán)限設(shè)計(jì)的需求

禁止非法用戶盜取資源

訪問用戶的權(quán)限檢測可以通過客戶端實(shí)現(xiàn)或通過客戶端+服務(wù)器檢測實(shí)現(xiàn),每一臺計(jì)算機(jī)具備瀏覽器,如果不建立一個(gè)完整的權(quán)限檢測,那么一個(gè)非法用戶可以輕而易舉通過瀏覽器訪問Web應(yīng)用項(xiàng)目中的所有功能資源。

保證數(shù)據(jù)的保密性

公司內(nèi)部員工的角色不同,自然對于系統(tǒng)使用功能的權(quán)限不一樣,關(guān)于機(jī)密數(shù)據(jù)的列表菜單是不能允許讓所有人進(jìn)行訪問的。

比如:一個(gè)電商網(wǎng)站的銷售額等報(bào)表數(shù)據(jù),是不允許公司內(nèi)所有員工都進(jìn)行查閱的,有針對地進(jìn)行管理。

權(quán)限設(shè)計(jì)的方式有哪些?

  • 以“用戶”為單位的權(quán)限設(shè)計(jì)
  • 以“權(quán)限”為單位的權(quán)限設(shè)計(jì)
  • 以“用戶”與“權(quán)限”結(jié)合的權(quán)限設(shè)計(jì)

針對以上三種類型,結(jié)合業(yè)務(wù)場景以及具體設(shè)計(jì)方式,詳細(xì)進(jìn)行講解。

以“用戶”為單位的權(quán)限設(shè)計(jì)

適用的業(yè)務(wù)場景

當(dāng)使用該系統(tǒng)的人之中,存在很多擁有同一類權(quán)限的人,將擁有同一類權(quán)限的人定義為“角色”或者“部門”等其他稱號,而這個(gè)集合的稱號就是定義權(quán)限的集合體。

舉例:在公司內(nèi)部,運(yùn)營部人員擁有查詢報(bào)表的權(quán)限,客服部人員擁有審核商品評論的權(quán)限,而運(yùn)營部人員和客服部人員人數(shù)眾多,且權(quán)限一致,那么以“用戶”為單位的權(quán)限設(shè)計(jì)更符合業(yè)務(wù)需求。

如何進(jìn)行設(shè)計(jì)?

1、信息架構(gòu)圖

用戶:添加用戶過程中,分配至某一個(gè)部門,該部門擁有的權(quán)限就是該用戶的權(quán)限

部門:添加部門時(shí),除填寫部門基本資料外,對該部門定義具體權(quán)限

2、業(yè)務(wù)流程圖

具體流程:添加部門,給部門設(shè)置權(quán)限,添加用戶時(shí),設(shè)置所屬部門,部門的權(quán)限即是該用戶的權(quán)限。

3、具體原型圖設(shè)計(jì)

添加部門:

添加用戶:

由于公司內(nèi)部資料的保密性,我純手打兩分鐘,擼了個(gè)最簡單的示意圖進(jìn)行參照,其設(shè)計(jì)方式相信一看即懂。

關(guān)于此方法的權(quán)限設(shè)計(jì)疑問

1.權(quán)限的類型有哪些?

權(quán)限分為菜單功能和特殊項(xiàng)區(qū)分權(quán)限。

菜單功能權(quán)限:為一個(gè)用戶設(shè)置權(quán)限,該用戶所屬部門為運(yùn)營部,運(yùn)營部的權(quán)限設(shè)置中,勾選報(bào)表管理,但是未勾選導(dǎo)出報(bào)表。

那么該用戶進(jìn)入該系統(tǒng),能看到菜單頁,但是無法看到導(dǎo)出報(bào)表的按鈕,因?yàn)闆]有改權(quán)限。

特殊項(xiàng)區(qū)分權(quán)限:有這樣一個(gè)業(yè)務(wù)場景,該后臺系統(tǒng)管理幾個(gè)電商網(wǎng)站,我不希望A網(wǎng)站的運(yùn)營人員看到B網(wǎng)站的銷售額數(shù)據(jù),同理,B網(wǎng)站的運(yùn)營人員看不到A網(wǎng)站的銷售額數(shù)據(jù),似乎菜單功能權(quán)限不能為我們解決此問題。

那么,我們分兩步走:

1、在給部門設(shè)置權(quán)限的頁面,加上特殊項(xiàng)區(qū)分權(quán)限。

2、找出與此特殊項(xiàng)區(qū)分權(quán)限所有相關(guān)的頁面,進(jìn)行展示并進(jìn)行標(biāo)記。

以上為報(bào)表詳情頁,如果該用戶所在部門的權(quán)限中,勾選了A站、B站以及C站的權(quán)限,那么在報(bào)表詳情頁中的搜索選項(xiàng),出現(xiàn)的站點(diǎn)為權(quán)限勾選的網(wǎng)站,如果未勾選任何網(wǎng)站,那么相應(yīng)地,報(bào)表詳情頁中查看不到任何網(wǎng)站的數(shù)據(jù)。

需要記住一點(diǎn)的是,涉及到特殊項(xiàng)區(qū)分權(quán)限的頁面很多,產(chǎn)品經(jīng)理需要全部找出,并進(jìn)行合理的設(shè)計(jì)展示,完善方案后給到開發(fā),進(jìn)行代碼的實(shí)現(xiàn)。

3.當(dāng)遇到一個(gè)部門內(nèi)部,必須針對不同的人設(shè)置不一樣的權(quán)限,如何處理?

業(yè)務(wù)場景:一個(gè)后臺管理系統(tǒng)管理眾多電商網(wǎng)站的評論,客服部人員內(nèi)部進(jìn)行分工,1號客服負(fù)責(zé)A網(wǎng)站的評論審核,2號客服負(fù)責(zé)B網(wǎng)站的評論審核,3號客服負(fù)責(zé)C網(wǎng)站的評論審核,那么問題來了。

1號、2號、3號客服同屬于一個(gè)部門,他們所擁有的權(quán)限不一樣,你如何進(jìn)行處理?

大部分人會想到一個(gè)解決方案:那就幫2號、3號客服再次新建一個(gè)部門,一個(gè)部門一個(gè)權(quán)限可以解決。

但是,這是有弊端的:

  • 試想這種業(yè)務(wù)場景足夠多的話,那么會造成的結(jié)果是:你的部門列表會有一堆重復(fù)的部門,部門之間也無法進(jìn)行區(qū)分,顯得頁面非常亂。
  • 有些重復(fù)的部門下只有一兩個(gè)人,非常不利于進(jìn)行管理

此路不通,怎么解決?

方法是制造一個(gè)二級部門的概念,部門太大需要在小組內(nèi)再區(qū)分,就增加三級部門的概念。

三級部門屬于二級部門,二級部門屬于一級部門,針對現(xiàn)實(shí)的狀況進(jìn)行區(qū)分。

在添加部門時(shí),選擇一級部門時(shí),如圖所示:

選擇二級部門時(shí),如果所示:

選擇不一樣的部門類型,進(jìn)行添加,針對部門進(jìn)行權(quán)限設(shè)置,也更方便解決會有重復(fù)部門以及頁面會很亂的情況。

一個(gè)部門內(nèi)部,必須針對不同的人設(shè)置不一樣的權(quán)限,此類場景根據(jù)頻次進(jìn)行處理,有以下類型:

  • 此類場景頻次極少,直接添加新部門,設(shè)置權(quán)限
  • 此類場景頻次較多,增加二級部門或三級部門的方式,設(shè)置權(quán)限
  • 此類場景頻次特別多,走個(gè)極端,一個(gè)團(tuán)隊(duì)一個(gè)人擁有一種權(quán)限,怎么辦???

第三種業(yè)務(wù)場景中在現(xiàn)實(shí)中是大量存在的,特別是國家機(jī)關(guān)的工作系統(tǒng),保密性是非常有必要的,如果我們使用以“用戶”為單位的權(quán)限設(shè)計(jì),其中涉及的部門根本毫無作用,一個(gè)人一個(gè)部門,這是非常可笑的,那么我們應(yīng)該如何進(jìn)行處理此種情況?

在下一篇文章中,將詳細(xì)介紹以“權(quán)限”為單位的權(quán)限設(shè)計(jì),歡迎閱讀~

#專欄作家#

不羈,微信號:hujianfeng1234,人人都是產(chǎn)品經(jīng)理專欄作家,對于電商以及社交領(lǐng)域產(chǎn)品有深入了解,重業(yè)務(wù)邏輯,喜深入思考,歡迎交流~

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 作者只是分享了一下基礎(chǔ)的權(quán)限設(shè)置,不知道為什么會有這么多噴子,在更早的時(shí)候沒有RBAC模型的時(shí)候,用的的確是這個(gè)模型,只是現(xiàn)在權(quán)限設(shè)置更偏業(yè)務(wù)了,所以這個(gè)慢慢變得不再適用。

    來自浙江 回復(fù)
  2. 兄弟,你這篇文章把我看糊涂了,按照你的觀點(diǎn):是在部門上授權(quán),歸屬于這個(gè)部門下的所有用戶都具有這個(gè)權(quán)限,如果同一個(gè)部門下的用戶有不同的權(quán)限,那就再建下級部門,給下級部門授權(quán)。
    【首先】我要對看這篇文章的朋友們說一聲:這種權(quán)限設(shè)計(jì)可能對這個(gè)公司的用戶適用,在借鑒的時(shí)候,切莫拿來主義。
    【其次】我要對作者說:一個(gè)企業(yè)的行政組織(包含部門)都是固定的,這屬于企業(yè)HR管理的一部分,不會因?yàn)槟銠?quán)限的設(shè)置而變更,部門不會隨便增加改變的,其次,組織是和業(yè)務(wù)有很大關(guān)系的,不僅僅只是關(guān)聯(lián)權(quán)限,你這種設(shè)計(jì)并沒考慮過企業(yè)內(nèi)部審批、業(yè)務(wù)匯報(bào)關(guān)系、人員考勤等和業(yè)務(wù)相關(guān)事情,組織一旦有變動就會產(chǎn)生很大的影響。
    【建議】如果沒有非常成熟的權(quán)限模型,建議使用RBAC或在RBAC基礎(chǔ)上改良優(yōu)化,建立更嚴(yán)格的權(quán)限體系,不要緊緊地將權(quán)限綁定在組織上。

    來自北京 回復(fù)
  3. 難道RBAC權(quán)限模型不能解決你的問題嗎?

    來自廣東 回復(fù)
    1. RBAC模型很不錯,我會深入再研究一下,感謝你的建議~

      來自廣東 回復(fù)
  4. 這小伙,有點(diǎn)誤人子弟。。。

    來自北京 回復(fù)
    1. 贊同

      來自上海 回復(fù)
    2. 不要就知道噴人,寫篇文章來教育我,真的求求你了~

      來自廣東 回復(fù)
    3. 分享東西,注定是要有人噴的,但是這套邏輯是解決了我公司遇到的問題,你們看了,認(rèn)為與你們公司遇到的問題不適用,也是正常,你生搬硬套,就說我誤人子弟,有本事寫篇牛逼文章出來教育我啊,不行就別噴人,好好說話,真TMD受不了這種氛圍。

      來自廣東 回復(fù)
    4. 哪里都有噴子,千萬別因?yàn)樗麄兌绊懩愕姆窒頍崆?。就像你做的那樣,適當(dāng)?shù)幕負(fù)粼偌由蠠o視,就足夠了。每個(gè)瀏覽者的瀏覽目的、需求階段都不一樣,有不一樣的看法也是正常。你的文章對現(xiàn)階段的我就挺有幫助的,謝謝你。

      來自上海 回復(fù)
  5. 1、權(quán)限和部門沒有關(guān)系吧,一個(gè)部門不同的人有不同權(quán)限,或多項(xiàng)權(quán)限疊加情況,一個(gè)人一般屬于一個(gè)部門或交叉虛擬組。
    2、一般設(shè)置角色+個(gè)人權(quán)限組合,角色自可以定義設(shè)置很多種,并賦予對應(yīng)權(quán)限,人員權(quán)限分級(比如最大權(quán)限主管,系統(tǒng)主管,具有全產(chǎn)品使用權(quán)限,一般人員權(quán)限。被授予的權(quán)限:可以細(xì)化到每個(gè)模塊,單據(jù),功能,菜單,字段,敏感數(shù)據(jù)上,所以權(quán)限維度和組合,架構(gòu)要考慮清楚)

    來自四川 回復(fù)
  6. 對于部門下每個(gè)人都擁有不通權(quán)限的問題是否可以通過將部門權(quán)限維護(hù)的權(quán)限賦予部門領(lǐng)導(dǎo)這個(gè)角色來解決呢?

    來自四川 回復(fù)
  7. 我們的系統(tǒng)一般而言部門的存在只是為了方便管理眾多的用戶,真正的權(quán)限是放在角色上的。角色是用戶的屬性,去分配不同的功能權(quán)限。

    來自陜西 回復(fù)
    1. 最簡單的是部門和用戶在一起,直接分配權(quán)限比較方便,當(dāng)然,你要通過角色設(shè)置權(quán)限,部門管理人員,這都是可行的~

      來自廣東 回復(fù)
    2. 部門一般是用來區(qū)分?jǐn)?shù)據(jù)權(quán)限居多吧

      來自上海 回復(fù)
  8. 最簡單的權(quán)限接解決方案:
    1.一個(gè)創(chuàng)建系統(tǒng)用戶,創(chuàng)建時(shí)將用戶與業(yè)務(wù)人員關(guān)聯(lián)
    2.一個(gè)創(chuàng)建業(yè)務(wù)人員與對應(yīng)的權(quán)限

    :mrgreen: ??

    來自廣東 回復(fù)
  9. 權(quán)限建立的基礎(chǔ),是劃分并梳理好“業(yè)務(wù)從屬”和“任務(wù)權(quán)限”;這兩塊不涉及到用戶畫像和需求調(diào)研,相對比較明確,所以還好…
    但是更為復(fù)雜的,是在權(quán)限分配中,加入績效考核與評定,這個(gè)也是必須的步驟,因?yàn)闄?quán)責(zé)分明,也就是為了績效權(quán)衡。且行且努力吧… ??

    來自廣東 回復(fù)
  10. 干貨,學(xué)習(xí)了。

    來自四川 回復(fù)
  11. 說的太好了

    來自四川 回復(fù)
    1. 謝謝,歡迎交流~

      來自廣東 回復(fù)