許可權系統設計--概論

yuzhangqi發表於2009-11-19

許可權系統作為商業系統的一個基礎平臺而存在。許可權系統的設計有一些基本的準則,如使用者(User),使用者組(Group),角色(Role),動作(Action),檢視(View),組織結構(Organization)。它們是許可權系統設計的基本要素。

系統中的許可權通常可以定義為3個許可權子集:模組訪問許可權,操作許可權,資料檢視許可權。

模組訪問許可權 – 通常商業系統都按功能特性組織成不同的子系統或功能模組。每個子系統中有包含若干功能單元。比如,某銷售管理系統包括“商機系統”、“客戶管理系統”、“管理分析和BI系統”、“電子商務系統”、“資訊共享平臺”、“基礎框架平臺”。不同的使用者將被授予不同的子系統及其子模組的訪問許可權。

模組許可權在實現時常常表現為功能選單的訪問授權。

操作許可權 – 定義使用者進入某個子系統後可以做什麼、不可以做什麼。比如,商機系統包含“普通商機”流程,其中有“商機報備”、“技術可行性和價格回覆”、“立項申請”、“價格審批”、“物料編號回覆”、“合同擬製”、“合同稽核”、“下單”。其中,O/S,I/S具有“商機報備”、“合同擬製”的操作許可權,技術支援人員具有“技術可行性回覆”的操作許可權,各級審批人員具有相應的“價格審批”操作許可權,法務代表具有“合同稽核”的操作許可權,渠道夥伴具有“下單”操作許可權。等等。

操作許可權相對於模組許可權通常處於較低的控制級別。就是說,通常先檢查模組訪問許可權,有模組訪問許可權的前提下,才檢查是否有某個功能的操作許可權。打個比方,就像你進公園,先要檢查你是否有門票。進去之後,如果有些景點是需要單獨購票的,你還有單獨購票才能進去。操作許可權通常控制到使用者介面的操作按鈕是否可用(或可見)、在Code的方法呼叫級別做許可權檢查。

資料檢視許可權 – 商業系統中往往存在大量資料,如產品資料、客戶資料、銷售資料、財務資料、報表資料。為了資料安全性和保密性的需要,往往需要對使用者有權檢視或操作的資料集進行定義,即不同的使用者有不同的資料檢視。

資料檢視許可權的定義往往與公司的組織架構緊密相關。比如常常有類似這樣的需求:總經理能夠檢視系統內的任何資料,銷售總監可以檢視全部的銷售資料,區域銷售經理只能檢視自己管轄區域的銷售資料,銷售人員只能看到自己的銷售資料。

資料檢視許可權同時又與操作許可權緊密相關。如區域銷售經理能檢視自己下屬銷售人員的銷售資料,但沒有修改或刪除的許可權;但是區域銷售經理對他本人的銷售資料具有完全的操作許可權(增加、修改、刪除、檢視)。簡言之,不同的操作許可權往往與不同的資料檢視許可權相關。

許可權系統的設計必須要結合特定系統的業務規則和使用者需要來進行,並且需要做細緻、周密的規劃。

許可權系統設計的關鍵是做到模組化、介面化、可配置。

許可權判定的邏輯往往會滲透到整個系統的程式碼中。為了便於系統維護,需要採用AOP設計和程式設計。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13651903/viewspace-1028848/,如需轉載,請註明出處,否則將追究法律責任。

相關文章