国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

RBAC:權(quán)限模型的初步理解

2shou / 2562人閱讀

摘要:近來(lái)部門接到一個(gè)外包項(xiàng)目,是基于現(xiàn)有的系統(tǒng)做一個(gè)知識(shí)文檔庫(kù),類似于百度網(wǎng)盤一樣的功能,只是在角色和權(quán)限上與網(wǎng)盤不同,這個(gè)項(xiàng)目我們部門稱為,,難點(diǎn)就在于文件的權(quán)限管理。

??近來(lái)部門接到一個(gè)外包項(xiàng)目,是基于現(xiàn)有的系統(tǒng)做一個(gè)知識(shí)文檔庫(kù),類似于百度網(wǎng)盤一樣的功能,只是在角色和權(quán)限上與網(wǎng)盤不同,這個(gè)項(xiàng)目我們部門稱為KM,Knowledge Manager ,難點(diǎn)就在于文件的權(quán)限管理。

??以下是與權(quán)限相關(guān)的一些功能點(diǎn):

KM 有五類角色:KM 企業(yè)管理員, KM 部門管理員 ,KM團(tuán)隊(duì)管理員 ,KM團(tuán)隊(duì)成員 , KM成員,權(quán)限依次遞減

KM 有三個(gè)實(shí)體 : 網(wǎng)盤、文件夾、文件

KM 網(wǎng)盤的類型有:部門網(wǎng)盤,團(tuán)隊(duì)網(wǎng)盤,個(gè)人網(wǎng)盤

KM 文件夾的操作:創(chuàng)建、修改、刪除、移動(dòng)、分享、授權(quán)

KM 文件的操作:創(chuàng)建、修改、刪除、移動(dòng)、分享、授權(quán)

歸根到底有兩點(diǎn):

不同角色對(duì)不同實(shí)體的操作有不一樣的權(quán)限

高級(jí)別的角色可以改變低級(jí)別的角色對(duì)指定實(shí)體的操作權(quán)限

??我自己出來(lái)工作已經(jīng)兩年,計(jì)劃五年內(nèi)成為一名架構(gòu)師,雖然這次不需要我對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),但是我肯定不會(huì)放棄這次機(jī)會(huì),在上級(jí)出方案之前,我足足把需求文檔看了四遍,去想如何才能設(shè)計(jì)一個(gè)好的架構(gòu)進(jìn)行開(kāi)發(fā),不過(guò),最后的結(jié)果還是打擊到我了,實(shí)在沒(méi)想到還有如此簡(jiǎn)單的方法。全文分解為兩部分:

我自己的設(shè)計(jì):策略模式

上級(jí)的設(shè)計(jì):RBAC權(quán)限模型

策略模式

??開(kāi)始的想法是,架構(gòu)必然和設(shè)計(jì)模式有關(guān),考慮到實(shí)體執(zhí)行的操作類型如上文所說(shuō)基本有六種操作,結(jié)合五類角色,正好可以采用策略模式,基本的思路如下:

獲取用戶信息,基于不同網(wǎng)盤、文件夾、文件,實(shí)現(xiàn)對(duì)應(yīng)的角色

根據(jù)角色,判斷對(duì)應(yīng)的操作是否具相應(yīng)的權(quán)限

若不滿足權(quán)限,則查詢權(quán)限表,判斷高級(jí)角色是否授權(quán)

最終返回是否具備權(quán)限的數(shù)據(jù),以供前端進(jìn)行響應(yīng)式回顯

??這就是我最開(kāi)始的思路,其實(shí)想到這套方案,心里還是挺開(kāi)心的,原因在于:

用到了策略模式,剛學(xué)就能用上

解耦,以后不同角色對(duì)不同實(shí)體的操作的維護(hù)難度大大降低

不需要頻繁的查詢數(shù)據(jù)庫(kù),畢竟有一部分業(yè)務(wù)邏輯是不需要通過(guò)查詢數(shù)據(jù)庫(kù)的,類似于KM 企業(yè)管理員,權(quán)限最大,對(duì)任何實(shí)體都具備操作權(quán)限

??然而當(dāng)我把想法在早會(huì)上提出來(lái)時(shí),上級(jí)告訴我說(shuō),現(xiàn)行有一種很成熟的權(quán)限模型:RBAC權(quán)限模型,他的設(shè)計(jì)能夠解決這個(gè)項(xiàng)目大部分的需求。方案不被采納固然有一點(diǎn)小失落,但是,我卻看到了一個(gè)很厲害的模型,足以讓我漲見(jiàn)識(shí),以后遇到權(quán)限管理的時(shí)候,首先應(yīng)該想到RBAC模型,結(jié)合項(xiàng)目的需求,對(duì)模型進(jìn)行擴(kuò)展。

RBAC權(quán)限模型

基本概念

基于角色的權(quán)限訪問(wèn)控制(Role-Based Access Control)

權(quán)限授權(quán)實(shí)際上是Who、What、How的關(guān)系,三者構(gòu)成了訪問(wèn)權(quán)限三元組,也就是“Who對(duì)What(Which)進(jìn)行How的操作

支持三個(gè)著名的安全原則

最小權(quán)限原則

責(zé)任分離原則

數(shù)據(jù)抽象原則

類圖

數(shù)據(jù)庫(kù)表:

個(gè)人理解

通過(guò)給角色授權(quán),然后將附有權(quán)利的角色施加到某個(gè)用戶身上,這樣用戶就可以實(shí)施相應(yīng)的權(quán)利

通過(guò)中間角色的身份,是權(quán)限管理更加靈活:角色的權(quán)利可以靈活改變,用戶的角色的身份可以隨著場(chǎng)所的不同而發(fā)生改變

這樣這套R(shí)BAC就幾乎可以運(yùn)用到所有的權(quán)限管理的模塊上

??RBAC在使用的過(guò)程,被不斷地改進(jìn),進(jìn)一步研發(fā)出更成熟的模型,以下的模型則是基于基本模型進(jìn)行擴(kuò)展:

RBAC1 :基于RBAC0模型,進(jìn)行了角色的分層,也就是說(shuō)角色上有了上下級(jí)的區(qū)別,存在了繼承包含關(guān)系,也就是前邊說(shuō)過(guò)的適合于用樹(shù)展現(xiàn)的哪種自關(guān)聯(lián)的結(jié)構(gòu),這種模型合適于層次明確,包含明確的角色關(guān)系

類圖

RBAC2 :基于RBAC0模型的基礎(chǔ)上,進(jìn)行了角色的訪問(wèn)控制。

RBAC2中的一個(gè)基本限制時(shí)互斥角色的限制,互斥角色是指各自權(quán)限互相制約的兩個(gè)角色,對(duì)于這類角色一個(gè)用戶在某一次活動(dòng)中只能被分配其中的一個(gè)角色,不能同時(shí)獲得兩個(gè)角色的使用權(quán)

角色的權(quán)利權(quán)利是有限的,用戶有用的角色也是有限的,當(dāng)然分配用戶時(shí)也是有限的,不能進(jìn)行無(wú)限制的分配用戶

要想獲得較高的權(quán)限,要首先擁有低一級(jí)的權(quán)限

類圖

RBAC3 : 最全面級(jí)的權(quán)限管理,基于RBAC0的基礎(chǔ)上,將RBAC1和RBAC2進(jìn)行整合了,最全面,也最復(fù)雜

類圖

??任何的權(quán)限控制都可以基于 RBAC權(quán)限 進(jìn)行擴(kuò)展和實(shí)現(xiàn),成熟的開(kāi)發(fā)模型就能為開(kāi)發(fā)者帶來(lái)足夠的便利,也很佩服勤勞、勇敢、智慧的工程師,能夠設(shè)計(jì)出如此出彩的模型。
??這次也深刻地意識(shí)到自己知識(shí)面的不足,自己閉門造車肯定會(huì)與這個(gè)社會(huì)脫節(jié),與此同時(shí),學(xué)習(xí)速度太慢,不會(huì)使用搜索引擎去找答案,也會(huì)被這個(gè)社會(huì)淘汰。謹(jǐn)記。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67456.html

相關(guān)文章

  • RBAC-基于角色權(quán)限管理

    摘要:基于角色的權(quán)限管理權(quán)限管理,基于角色的訪問(wèn)控制,就是用戶通過(guò)角色與權(quán)限進(jìn)行關(guān)聯(lián)。這樣,就構(gòu)造成用戶角色權(quán)限的授權(quán)模型。角色可以理解為一定數(shù)量的權(quán)限的集合,權(quán)限的載體。版主可管理版內(nèi)的帖子可管理版內(nèi)的用戶等,這些是權(quán)限。 RBAC-基于角色的權(quán)限管理 RBAC權(quán)限管理 RBAC(Role-Based Access Control,基于角色的訪問(wèn)控制),就是用戶通過(guò)角色與權(quán)限進(jìn)行關(guān)聯(lián)。簡(jiǎn)...

    dingding199389 評(píng)論0 收藏0
  • 途牛原創(chuàng)|大話權(quán)限中心PHP架構(gòu)之道

    摘要:權(quán)限中心的依賴聲明聲明依賴關(guān)系檢查代碼規(guī)范聲明開(kāi)發(fā)依賴命名空間檢查代碼規(guī)范,執(zhí)行單元測(cè)試。單元測(cè)試持續(xù)交付一切都如此的完美,沒(méi)有測(cè)試,又如何可以證明這件事情的完美,又如何可以保障交付的質(zhì)量。 序 權(quán)限管理是無(wú)線運(yùn)營(yíng)系統(tǒng)中的核心模塊,通過(guò)訪問(wèn)控制策略的配置,來(lái)約定人與資源的訪問(wèn)關(guān)系。 本文著重講解如何通過(guò)PHP來(lái)構(gòu)建一個(gè)靈活、通用、安全的權(quán)限管理系統(tǒng)。 關(guān)于權(quán)限 首先我們來(lái)聊聊權(quán)限。 權(quán)...

    miracledan 評(píng)論0 收藏0
  • MySQL —— 簡(jiǎn)單聊一聊數(shù)據(jù)庫(kù)設(shè)計(jì)

    摘要:數(shù)據(jù)庫(kù)設(shè)計(jì)的三大范式確保每列的原子性如果每列都是不可再分的最小單元信息,則滿足第一范式,比如下圖中,地址是由國(guó)家和城市組成的,顯然可以繼續(xù)在拆分成兩個(gè)列,國(guó)家和城市,是不滿足第一范式的,需要將地址列差分成國(guó)家和城市兩個(gè)列。 showImg(https://segmentfault.com/img/remote/1460000018997429?w=1100&h=546); 閱讀原文 ...

    dingding199389 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<