歸根到底有兩點:
不同角色對不同實體的操作有不一樣的許可權
高階別的角色可以改變低階別的角色對指定實體的操作許可權
我自己出來工作已經兩年,計畫五年內成為一名架構師,雖然這次不需要我對系統進行設計,但是我肯定不會放棄這次機會,在上級出方案之前,我足足把需求文件看了四遍,去想如何才能設計乙個好的架構進行開發,不過,最後的結果還是打擊到我了,實在沒想到還有如此簡單的方法。全文分解為兩部分:
開始的想法是,架構必然和設計模式有關,考慮到實體執行的操作型別如上文所說基本有六種操作,結合五類角色,正好可以採用策略模式,基本的思路如下:
這就是我最開始的思路,其實想到這套方案,心裡還是挺開心的,原因在於:
然而當我把想法在早會上提出來時,上級告訴我說,現行有一種很成熟的許可權模型:rbac許可權模型,他的設計能夠解決這個專案大部分的需求。方案不被採納固然有一點小失落,但是,我卻看到了乙個很厲害的模型,足以讓我漲見識,以後遇到許可權管理的時候,首先應該想到rbac模型,結合專案的需求,對模型進行擴充套件。
支援三個著名的安全原則
類圖
資料庫表:
rbac在使用的過程,被不斷地改進,進一步研發出更成熟的模型,以下的模型則是基於基本模型進行擴充套件:
rbac2 :基於rbac0模型的基礎上,進行了角色的訪問控制。
任何的許可權控制都可以基於 rbac許可權 進行擴充套件和實現,成熟的開發模型就能為開發者帶來足夠的便利,也很佩服勤勞、勇敢、智慧型的工程師,能夠設計出如此出彩的模型。
這次也深刻地意識到自己知識面的不足,自己閉門造車肯定會與這個社會脫節,與此同時,學習速度太慢,不會使用搜尋引擎去找答案,也會被這個社會淘汰。謹記。
RBAC許可權模型
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
許可權控制模型 RBAC
rbac role based accesscontrol,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。與acl實現的區別在於,不能直接為使用者分配許可權,只能從角色那裡繼承而來...
RBAC許可權模型 專案實戰
一 前言 許可權一句話來理解就是對資源的控制,對web應用來說就是對url的控制,關於許可權可以毫不客氣的說幾乎每個系統都會包含,只不過不同系統關於許可權的應用複雜程式不一樣而已,現在我們在用的許可權模型基本上都是以rbac為基礎進行擴充套件的,我們今天就將rbac許可權模型進行下介紹。二 rbac...