許可權系統設計(4)--resource
許可權管理中進行資料訪問控制,其基本模式如下
operation target = selector(resource)
selector = user selector + auth filter
這裡需要對resource的結構,以及選擇運算元的顯式建模。selector必須允許許可權系統追加filter,例如
IDataSource包中所使用的Query物件。
sql語言的表達能力有限, 作為選擇運算元來使用有時需要resource作一些結構上的調整,增加一些冗餘的欄位。例如表達一段時間內的利率,我們需要使用from_date和to_date兩個欄位來進行描述,其中to_date的值與下一條記錄的from_date相同。
value from_date to_date
0.01 2003-01-01 2003-05-01
0.012 2003-05-01 2004-01-01
如果表達一條航線中的多個階段,我們可能會在每條記錄中增加起始站和終點站兩個欄位。
更重要的一個常見需求是樹形結構在關聯式資料庫中的表達。為了能夠直接操縱一個分支下的所有記錄,在層次固定的情況下,我們可能會增加多個分類欄位,例如資料倉儲中的層次維度。在層次數目不確定的情況下,我們將不得不使用層次碼或者類似於url的其他方案,透過layer_code like '01.01.%' 之類的語句實現分支選擇。為了限制選擇的深度,我們可能還需要layer_level欄位。基於層次碼和層次數,我們可以建立多種選擇運算元,例如包含所有直接子節點,包含自身及所有父節點等等。
請參考: http://space.itpub.net/?uid-29867-action-viewspace-itemid-233308
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29867/viewspace-233309/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 許可權系統設計
- 許可權系統設計(2)--operation
- 許可權系統設計(3)-- subject
- 許可權系統設計--概論
- 許可權管理系統的設計案例 -- 需求定義(4)
- 使用者許可權設計(三)——通用資料許可權管理系統設計
- 關於許可權系統的設計
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- 續:關於許可權系統的設計
- 許可權系統設計(1)--基本模式模式
- 許可權系統設計(5)--動態性
- 系統許可權資料庫設計方案資料庫
- 分散式系統中,許可權設計實踐分散式
- 關於系統許可權的設計-位操作
- Android系統許可權和root許可權Android
- 適配懸浮窗許可權與系統設定修改許可權
- MySQL許可權系統MySql
- Oracle系統許可權Oracle
- 手把手擼套框架-許可權系統設計框架
- learun通用許可權系統框架功能實現設計框架
- 管理系統之許可權的設計和實現
- Spring Security + jwt 許可權系統設計,包含SQLSpringJWTSQL
- ASP.NET系統使用者許可權設計ASP.NET
- 許可權系統設計的理論基礎--RBAC
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- Linux系統程式設計(七)檔案許可權系統呼叫Linux程式設計
- 最近對就有系統人員許可權升級計劃――也談人員許可權的設計。
- 許可權管理系統的設計案例 -- 需求定義(2)
- 許可權管理系統的設計案例 -- 需求定義(3)
- mongodb 的許可權系統MongoDB
- 【JavaWeb】許可權管理系統JavaWeb
- 有贊許可權系統
- Android系統許可權Android
- 許可權系統跟進
- JavaWeb許可權設計原理JavaWeb
- 若依管理系統RuoYi-Vue(二):許可權系統設計詳解Vue
- 基於Spring Security和 JWT的許可權系統設計SpringJWT
- [仁潤雲技術團隊]許可權系統的設計