2012-07-05 74 views
1

實體我有一個列表項(共享點),但允許把它看成是一個簡單的類/實體。現在這個實體有一個屬性名稱Status和其他屬性。每財產授權

我需要每個屬性/角色/狀態授權來實現。

實施例: 角色 =管理器,領域 = RequestName,狀態 = 01 權限:讀取,更新

角色 =管理器,領域 = RequestName,狀態 = 05 權限:讀

正如你可以看到authorizatio N I主要基於3個變量:作用,地位,財產

現在,我需要在UI禁用/隱藏基於一個事實,即用戶可以看到它,或者編輯一些控制。這可以通過幾個sql表和一些連接輕鬆完成。

鑑於實體可以有30-100屬性,我需要知道每當UI禁用/隱藏控制。

你認爲這將是最好的辦法:

  1. 查詢數據庫30次,發現如果用戶可以讀取 一定的屬性給定角色的所有領域

  2. 負荷權限和狀態,在 內存中循環收集並獲得當前字段權限。

我對性能/內存平衡感興趣。我也向其他授權算法開放,給出3個變量(角色/狀態/屬性)決定權限。

謝謝

+0

鑑於問題是一個優化問題,那麼答案將基於沒有任何指標的意見。如果你想對這個問題有一個很好的答案,那麼你應該運行這兩個解決方案和監控代碼,以確定哪種解決方案最好。 – 2012-07-05 18:59:01

回答

0

在一個簡單的內存列表保持100個小物件是方便,快捷。如果屬性名稱是唯一的,則可以使用更快的索引集合。

如果他們沒有更新不斷沒有任何理由來查詢數據庫。