關於系統設計中數據權限的解決方案

我最近的開發一個項目中涉及比較複雜的權限管理功能。 系統中須要角色、機構、菜單、用戶,其中機構有上下級關聯,角色又分爲經理、組長等,大體的需求是這樣的不一樣角色看到的界面不同,這個功能好處理設計菜單表與角色表多對多關聯就能夠了,而數據權限就比較複雜了,機構表中設有 部門A ,小組A,小組B(小組的上級是部門A),角色有部門經理,組長 ,組長A只能查看小組A的組員數據,而不能查看小組B的組員數據,部門經理A能查看底下兩個小組數據

我設計的表以下編碼

最開始我想的查詢方案是 如今個人想法是若是是部門經理查看數據時 遞歸查詢底下的機構列表,在查詢人員時 用 in(機構id1,機構id2)的方式查詢數據,可是這種方案存在問題,若是部門過多會致使查詢緩慢因此又請教了一些朋友他們提出的方案是採用權限編碼的方式解決,大體思路以下:設計

     好比頂級部門的編碼爲00,下級部門的編碼爲00-01,在下級的編碼爲00-01-01 等等以此類推在查詢的時候用右like索引的方式進行數據查詢,這樣能夠比較容易的解決數據權限的問題cdn

相關文章
相關標籤/搜索