基本上涉及到使用者參與的系統都要進行許可權管理,許可權管理屬於系統安全的範疇,許可權管理實現對使用者訪問系統的控制,按照安全規則或者安全策略控制使用者可以訪問而且只能訪問自己被授權的資源。
許可權管理包括使用者身份認證和授權兩部分,簡稱認證授權。對於需要訪問控制的資源使用者首先經過身份認證,認證通過後使用者具有該資源的訪問許可權方可訪問。
1.subject 主體
訪問系統的使用者,可以是使用者,程式等
2.principal 身份資訊
是subject主體進行身份認證的標誌,標誌必須具備唯一性:如手機號,身份證號等,乙個subject主體可以有多個身份資訊,但必須有乙個主身份(primary principal).
2.credential 憑證資訊
是只有主體知道的自己的安全資訊,如密碼,證書等
主體(賬號,密碼)
角色許可權(許可權名稱,資源id)
資源(資源名稱,訪問url)
主體與角色
角色與資源
簡化:通常將許可權和資源放在一張表中,通稱為許可權
主體(賬號,密碼) 角色
許可權(許可權名稱,資源訪問url,資源名稱)
主體與角色
角色與許可權
1.基於角色的訪問控制(role-base--access-controller)
*系統擴充套件性查,套他
2.基於資源的訪問控制(resource-base-access-controller)
*系統擴充套件性好
對資源型別的管理稱為粗顆粒度許可權管理,即只控制到選單、按鈕、方法,粗粒度的例子比如:使用者具有使用者管理的許可權,具有匯出訂單明細的許可權。對資源例項的控制稱為細顆粒度許可權管理,即控制到資料級別的許可權,比如:使用者只允許修改本部門的員工資訊,使用者只允許匯出自己建立的訂單明細。
實現方式?
對於粗顆粒度的許可權管理可以很容易做系統架構級別的功能,即系統功能操作使用統一的粗顆粒度的許可權管理。
對於細顆粒度的許可權管理不建議做成系統架構級別的功能,因為對資料級別的控制是系統的業務需求,隨著業務需求的變更業務功能變化的可能性很大,建議對資料級別的許可權控制在業務層個性化開發,比如:使用者只允許修改自己建立的商品資訊可以在service介面新增校驗實現,service介面需要傳入當前操作人的標識,與商品資訊建立人標識對比,不一致則不允許修改商品資訊。
RBAC許可權模型
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
一種基於主客體模型的許可權管理框架
使用者許可權體系,在大多數的應用系統中都是需要的。而使用者許可權體系在不同的應用場景,其適應要求也都有不同。因此,要做乙個普適性較好的許可權管理系統是非常困難的。為此,本文提出一種新的許可權管理及分配模型,即兼顧通用性,又兼顧應用的個性化。1.基本概念的抽象 在許可權框架中,有使用者 角色 組織機構...
一種基於主客體模型的許可權管理框架
使用者許可權體系,在大多數的應用系統中都是需要的。而使用者許可權體系在不同的應用場景,其適應要求也都有不同。因此,要做乙個普適性較好的許可權管理系統是非常困難的。為此,本文提出一種新的許可權管理及分配模型,即兼顧通用性,又兼顧應用的個性化。1.基本概念的抽象 在許可權框架中,有使用者 角色 組織機構...