需求:有個許可權樹,資源掛在樹的節點上面。父節點的許可權可以訪問所有子節點的資源。
更具體點,乙個公司有乙個部門,這個部門是棵樹(許可權樹)。每發布乙個課程,都需要設定屬於哪個部門的許可權。每個人屬於部門。這樣,來乙個人,他可以看到該部門所有子部門的所有資料。
方案1:基於資料庫的實現
這是一棵許可權樹。子節點的值為父節點copy+乙個遞增的數字。
資源的表有個字段儲存節點的數字。
當使用者許可權在某個節點的時候,使用mysqllike 'x%' 就可以找到下面的所有的資源。
方案2:
使用搜尋引擎實現。
資源a掛在1上,a的標籤是[1];資源b掛在2上,標籤是[1,2]
使用者許可權是1,可以找到a,b的資源。如果使用者許可權是2,用2搜尋,可以找到b的資源
標籤:就是從根到當前節點的路徑。中間用,或者空格分割,這樣es就可以分詞。
方案1跟2各有千秋。方案1 在多表join的時候,比較方便。實際業務場景除了許可權做過濾,還有其他的搜尋條件。
許可權設計方案
簡要介紹一下該許可權管理系統的特點,該系統功能上做到了靈活授權,操控細緻,許可權可以細到按鈕及超鏈級別,而且部署簡單,下面談談我自己的設計經驗。該系統主要功能如下 1 自定義操作動作 如增加 刪除 修改 審核等,不再是以前見過的那種粗粒度的 按模組分配許可權,或者稍微先進點的規定死某幾個操作了 2 ...
系統許可權設計方案
2008 06 04 b size large 系統許可權設計方案 size b b size large size b 關鍵字 設計思想 系統設計許可權管理分為 人員管理 角色管理 模組管理 其實有這樣一些概念 主體 使用者和角色可以稱為主體。資源 就是可以進行crud的物件。許可權 就是對資源的...
使用者許可權系統設計方案
鍾峰 2004年10月 版本 1.0.0 本文介紹乙個應用於 企業應用通用的使用者許可權系統的設計框架,其設計思想與主要文件 自 sunwu software studio 的 isecuritymanager 產品。本指南適用於體系結構設計人員和開發人員。安全始終是可信賴的企業應用的基石。在企業應...