<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          進階篇:一文讀懂權(quán)限設(shè)計

          共 2289字,需瀏覽 5分鐘

           ·

          2021-04-06 20:16


          感謝讀者在周末打開這篇文章,可能讀完有一個感覺:奇奇怪怪的知識又增加了一些!但是了解不同學(xué)科的經(jīng)典思想,想必也會形成一種樂趣。
          古人云:物盡其力,人盡其才;現(xiàn)代管理學(xué)也講:讓合適的人做合適的事。假如我們經(jīng)過一番努力,今天成為了公司的主管,此時有位實習(xí)生小鮮肉加入部門,剛加入公司小鮮肉從簡單的工作開始做起,慢慢帶上道,而此時的你,經(jīng)過多年努力已化身老臘肉,身經(jīng)百戰(zhàn)經(jīng)驗豐富,應(yīng)對復(fù)雜的業(yè)務(wù)也能淡然處理。
          一套軟件系統(tǒng)同時面對了小鮮肉和老臘肉,如何能發(fā)揮其全部能力。你的工作更為復(fù)雜,實習(xí)生操作起來很可能犯錯,為了避免這些不必要的錯誤,實習(xí)生操作的功能和可看的數(shù)據(jù)跟部門主管需要做區(qū)分,比如審核的功能只能給到主管,財務(wù)數(shù)據(jù)給主管能看到,在同一套系統(tǒng)考慮到小鮮肉和老臘肉的管理范圍和數(shù)據(jù)保密不同的需求,這就需要軟件系統(tǒng)的權(quán)限設(shè)計。
          本篇文章講述的權(quán)限設(shè)計,作為業(yè)務(wù)系統(tǒng)的基礎(chǔ),權(quán)限設(shè)計到底是什么又是如何設(shè)計的。
          如果讀者從事的是市場或業(yè)務(wù)方面,那么這篇文章值得收藏閱讀,因為幾乎所有的業(yè)務(wù)系統(tǒng)都做了權(quán)限設(shè)計,對于系統(tǒng)功能的安排了如指掌,業(yè)務(wù)領(lǐng)域會沒有人比你更懂軟件功能的設(shè)計!
          如果讀者是軟件工程師,本文總結(jié)了多年的設(shè)計經(jīng)驗,希望能對你的設(shè)計能起到一點幫助!

          劃重點:

          權(quán)限設(shè)計過程就是:把權(quán)限賦予角色,把角色賦予用戶。

          一、
          軟件的權(quán)限設(shè)計


          軟件的權(quán)限設(shè)計包含兩部分:功能權(quán)限和數(shù)據(jù)權(quán)限,權(quán)限設(shè)計的前置條件是合理的角色設(shè)計,更進一步的是理解公司的組織結(jié)構(gòu)設(shè)計。角色,一般是從現(xiàn)實崗位中來,每個角色職責(zé)管理范圍不同,比如倉庫管理員,物資采購員;組織一般是公司的組織架構(gòu),從上而下包含哪些部門,直線職能式,事業(yè)部制等,比如小王是產(chǎn)品設(shè)計部門,小李是市場部,用戶的賬戶信息都在這個組織架構(gòu)之中。
          功能權(quán)限指的是各個角色可以操作的頁面元素,查看頁面信息,功能按鈕和鏈接等,如果用戶的角色沒有該項權(quán)限,那么用戶就無法訪問這個元素。以【審核】按鈕為例,如果沒有這個權(quán)限,用戶不僅當(dāng)前頁面看不到【審核】按鈕,也應(yīng)該無法訪問【審核】跳轉(zhuǎn)到審核頁面,所以即使用戶通過前端破解拿到了審核頁面的鏈接url,用戶的賬號應(yīng)也無法訪問這個頁面。

          數(shù)據(jù)權(quán)限指的是用戶能看到的數(shù)據(jù)范圍,一般有2種設(shè)計方式:將角色與數(shù)據(jù)權(quán)限關(guān)聯(lián);或?qū)⒔M織架構(gòu)與數(shù)據(jù)權(quán)限對應(yīng),用組織架構(gòu)來決定用戶的數(shù)據(jù)權(quán)限。這種通過組織決定用戶的數(shù)據(jù)權(quán)限,是現(xiàn)在后臺系統(tǒng)主流的設(shè)計方式。


          二、
          功能權(quán)限設(shè)計


          功能權(quán)限設(shè)計最常用的是基于角色的訪問控制RBAC(Role Based Access Control)模型,每個用戶都被賦予了一個或多個系統(tǒng)角色,每個角色又被賦予了一個或多個權(quán)限,最終用戶擁有對應(yīng)的操作權(quán)限。
          如果平臺用戶數(shù)量很多,那么給每個用戶分配角色是一件低效率的事情,于是模型引入了用戶組的概念,將角色賦予這個用戶組,用戶組內(nèi)的全部用戶同時獲得這個角色。我們設(shè)計的時候,可以把將組織看作一個用戶組,給組織賦予角色,那么這個小組織內(nèi)的用戶就會獲得這個角色,當(dāng)有新員工入職時,只需要把新員工加入到對應(yīng)的組織中,這個新員工就擁有了這個用戶組的角色,獲得了相應(yīng)的權(quán)限。同時,也支持繼續(xù)對用戶分配其他的角色,一個用戶可以有多個角色。
          在組織管理這塊,也可考慮與公司的人事系統(tǒng)打通。
          常用的RBAC模型的E-R圖:
          圖2.1 模型E-R圖
          以下是一些原型設(shè)計圖,供讀者參考:
          2.2 用戶管理

          2.3 角色管理

          圖2.4 權(quán)限授權(quán)角色圖

          圖2.5 權(quán)限節(jié)點圖

          圖2.6 組織管理


          三、
          數(shù)據(jù)權(quán)限設(shè)計

              

          看到格力空調(diào)的廣告,我想格力公司的高管應(yīng)該思考過一個問題:格力有幾千家分銷商,如何讓這幾千家分銷商在同一套系統(tǒng)中只能操作自己的訂單,不能看到別人家的訂單及各項數(shù)據(jù),但是管理人員能看到自己負(fù)責(zé)區(qū)域的分銷商數(shù)據(jù)。這就需要要求產(chǎn)品技術(shù)人員做數(shù)據(jù)權(quán)限控制。

          數(shù)據(jù)權(quán)限的設(shè)計有2種方式:

          1.使用RBAC1模型,通過角色分級來實現(xiàn);

          2.使用用戶與組織的關(guān)聯(lián)關(guān)系,通過組織結(jié)構(gòu)來決定用戶的數(shù)據(jù)權(quán)限。


          RBAC1模型,是在原來模型里角色的擴充,增加了角色等級的概念,父角色擁有子角色的所有權(quán)限。設(shè)計在角色管理模塊中,加入數(shù)據(jù)權(quán)限的選擇,將數(shù)據(jù)權(quán)限賦予角色。

          圖3.1 RBAC1模型
          我自己的經(jīng)驗來看,我估計這個方法僅能滿足小規(guī)模的用戶角色場景。
          現(xiàn)在后臺系統(tǒng)的主流設(shè)計方法是第二種方法,通過組織關(guān)系來決定用戶的數(shù)據(jù)權(quán)限,假設(shè)以格力公司的分銷商組織架構(gòu)為例,本架構(gòu)純屬虛構(gòu)僅作研究使用:

          圖3.2 分銷商組織結(jié)構(gòu)圖
          數(shù)據(jù)權(quán)限的可視化規(guī)則:上級組織只能看到自己和自己下級組織的數(shù)據(jù),看不到與自己平級的組織及其下級組織的數(shù)據(jù)。
          根據(jù)這個規(guī)則和組織結(jié)構(gòu),所以我們就知道格力總部中心的賬號可以看到所有的分銷商數(shù)據(jù),華南區(qū)分公司的賬號可以看到自己公司的數(shù)據(jù)和分銷商A,分銷商B,分銷商C的數(shù)據(jù),華南區(qū)公司無法看到與自己平級的華中區(qū)和西南區(qū)的數(shù)據(jù),分銷商ABC也只能看到自己的數(shù)據(jù),看不到別人的數(shù)據(jù)。
          通過組織結(jié)構(gòu)來管理數(shù)據(jù)權(quán)限,是現(xiàn)在主流的設(shè)計方法。
          權(quán)限設(shè)計的道路條條道路通羅馬,每個工程師在設(shè)計開發(fā)時都面臨著不同的環(huán)境,也很難說有一套放之四海而皆準(zhǔn)的設(shè)計方法,但是該模型仍然值得強烈推薦,設(shè)計原理和思想是可以包容許多變化。最后,希望本文能對您有益!


          瀏覽 48
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人爽,人人妻,人人操 | 操大鸡巴视频 | 三级高清在线 | 午夜福利一区二区三区 | 日本免费黄视频 |