許可權管理與訪問控制常常被放在一起討論,不是嗎?我們的軟體設計往往一來就是乙個系統組成模組圖,在那個圖裡面乙個傻傻的方框裡面寫上「許可權控制模組」。但是,我認為我們還是應該認識到在這個「模組」裡面兩者的不同。
「訪問控制」:是乙個動態的概念,是發生在執行時的,也即
rbac
裡面說的
session
中。當乙個按照定義需進行控制的訪問或呼叫發生時,「訪問控制」即發揮作用了。「訪問控制」發生的頻率非常高;
「許可權管理」:則是乙個相對靜態的概念,即對「訪問控制」的規則進行定義的一種管理。在系統內訪問或呼叫發生之前,這些控制規則必須被定義好,等待「訪問控制」取用。通常,「許可權管理」發生的頻率非常低;
其實,以任意乙個應用系統為背景,使用用例分析完全可以理解這種分離。在實際設計中,這兩部分的資料訪問設計也略有不同。「許可權控制」是對應用系統中的訪問控制規則資料的讀、寫操作;而「訪問控制」是對資料的讀操作,並且通常都有較強的效能要求。
在較高層次的構架上,我看到很多國外的研究者將這一部分以許可權訪問控制框架(
enterprise access control framework
)來模型化,並有較好的描述。在描述中,也是將各分開。這裡摘錄一段老外**摘要裡面的: 「
乙個企業應用訪問控制框架的效力依賴於這個框架中元件或組建模組的組成完整性。類似的框架必需由如下元件構成:(
a)乙個企業範圍內的控制模組(
b)在這個模組基礎上的開發的一套對資料訪問進行驗證的機制(
c)一套將企業應用訪問控制資訊資料對映到企業中不同應用系統中並發揮自然訪問強制控制作用的機制。」
可以在美國標準與技術協會的
rbac
標準主頁(
go->
)上找到這篇**。
**是關於
rbac
的乙個xml schema
模型的實現的,我現在正在翻譯。
訪問許可權控制
控制訪問許可權的四個關鍵字 public,protected,預設,private 類僅可以用public或缺省來修飾。方法和成員變數四個關鍵字都可以。public 無論是誰,在 都可以訪問 protected 具有包訪問許可權,同乙個包目錄下的類可以訪問,或者子類 即使位於不同包下 可以訪問到由p...
訪問許可權控制
package語句必須是檔案中的第一行非注釋程式 假設存在類wjc.one.vector.wjc和wjc.two.vector.wjc,然後在main類中同時引入包wjc.one.和wjc.two.三中注釋行會編譯報錯 編譯器會無法識別是哪乙個vector 所以只能使用全路徑的方式使用vector類...
訪問許可權控制
訪問許可權控制從高到低依次為 open,public,internal,fileprivate,private 在低階別的訪問許可權控制中,不可以使用高階別的訪問許可權。如 在 internal修飾的類中,成員變數不能被open,public修飾。open 具備最高的控制許可權。修飾的類和方法可以在...