002 許可權管理解決方案

2021-09-07 12:45:39 字數 1403 閱讀 1852

粗粒度許可權管理,對資源型別的許可權管理。

資源型別比如:選單、url連線、使用者新增頁面、使用者資訊、類方法、頁面中按鈕。。

粗粒度許可權管理比如:超級管理員可以訪問戶新增頁面、使用者資訊等全部頁面。

部門管理員可以訪問使用者資訊頁面包括 頁面中所有按鈕。

細粒度許可權管理,對資源例項的許可權管理。

資源例項就資源型別的具體化,比如:使用者id為001的修改連線,1110班的使用者資訊、行政部的員工。

細粒度許可權管理就是資料級別的許可權管理

細粒度許可權管理比如:部門經理只可以訪問本部門的員工資訊,使用者只可以看到自己的選單,大區經理只能檢視本轄區的銷售訂單。。

粗粒度和細粒度例子:

系統有乙個使用者列表查詢頁面,對使用者列表查詢分許可權,如果粗顆粒管理,張三和李四都有使用者列表查詢的許可權,張三和李四都可以訪問使用者列表查詢。

進一步進行細顆粒管理,張三(行政部)和李四(開發部)只可以查詢自己本部門的使用者資訊。張三只能檢視行政部 的使用者資訊,李四只能檢視開發部門的使用者資訊。細粒度許可權管理就是資料級別的許可權管理。

何實現粗粒度許可權管理?

粗粒度許可權管理比較容易將許可權管理的**抽取出來在系統架構級別統一處理。比如:通過springmvc的***實現授權。

如何實現細粒度許可權管理?

對細粒度許可權管理在資料級別是沒有共性可言,針對細粒度許可權管理就是系統業務邏輯的一部分,如果在業務層去處理相對比較簡單,如果將細粒度許可權管理統一在系統架構級別去抽取,比較困難,即使抽取的功能可能也存在擴充套件不強。

建議細粒度許可權管理在業務層去控制。

比如:部門經理只查詢本部門員工資訊,在service介面提供乙個部門id的引數,controller中根據當前使用者的資訊得到該 使用者屬於哪個部門,呼叫service時將部門id傳入service,實現該使用者只查詢本部門的員工。

基於url攔截的方式實現在實際開發中比較常用的一種方式。

對於web系統,通過filter過慮器實現url攔截,也可以springmvc的***實現基於url的攔截。

實現思路是:將系統操作的每個url配置在許可權表中,將許可權對應到角色,將角色分配給使用者,使用者訪問系統功能通過filter進行過慮,過慮器獲取到使用者訪問的url,只要訪問的url是使用者分配角色中的url則放行繼續訪問。

對於粗粒度許可權管理,建議使用優秀許可權管理框架來實現,節省開發成功,提高開發效率。

shiro就是乙個優秀許可權管理框架。

對細粒度許可權管理在資料級別是沒有共性可言,針對細粒度許可權管理就是系統業務邏輯的一部分,如果在業務層去處理相對比較簡單,如果將細粒度許可權管理統一在系統架構級別去抽取,比較困難,即使抽取的功能可能也存在擴充套件不強。

ITOO中的許可權管理解決方案

之前介紹過許可權模型和訪問控制,我們做的專案就是基於通用許可權模型和基於資源的訪問控制,而且從總體上是實現了粗粒度的許可權管理,但是根據不同的需求也實現了細粒度的許可權管理。目前所有資源都是具有 url的,也可以說我們的資源就是一堆有規則的 url,這樣無論是我們從 springmvc 攔截還是 u...

公文管理解決方案

一.方案概述 公文作為一種規範性文書,具有法律性 指導性 政令性強的特點,是企事業單位政令上通下達的重要方式。及時 準確 安全地處理 控制和 管理公文,方能保障企事業單位正常運轉,確保組織權威和政令暢通。h3 bpm公文管理解決方案以工作流為基礎,結合企事業單位的辦事 公文及相關管理規範,對需要多個...

合同管理解決方案

一.方案概述 合同是組織與組織間所訂協議的法律 表現形式,體現著雙方對於合作在法律和道德上的承諾。然而,大多數企業的合同管理都或多或少存在合同審批過程不規範 簽訂草率 審 批權責不清 合同執行跟蹤難 合同流程效率低下等問題。加強合同管理,對各企業預防合同糾紛,減少因合同疏漏而造成的經濟損失,提 高經...