2009-12-09 62 views
1

使用Shiro,我們在GF上運行的企業應用程序中嵌入了一個偉大的安全框架。您可以定義用戶,角色和權限,如果用戶可以訪問應用程序,某個頁面甚至點擊特定的按鈕,我們可以控制任何細粒度的級別。數據相關的安全性實現

是否有一個配方或模式,允許最重要的是,限制用戶看到某些數據?

樣品您有3個工廠(一家公司的一部分)的客戶表。管理員用戶可以查看所有客戶記錄,但本地工廠的用戶不能看到其他工廠的任何客戶數據(無論出於何種原因)。

安全特性應該是角色定義的一部分。

感謝您的任何輸入和想法

回答

1

添加一個或多個安全表到您的應用程序包含UserID和一個外鍵包含資源表的主鍵被證券化。

在新表中爲每個要授予訪問權限的用戶/資源組合創建記錄。

然後,當從數據庫請求資源時,只需使用資源鍵將安全表加入到資源表中,然後篩選當前登錄用戶的安全表的UserID。這將修剪輸出,刪除用戶無權訪問的任何記錄。

創建允許您在安全表中設置新記錄的授權用戶訪問資源的表單相對比較簡單。

注意:在您提到的特定情況下,您只需在用戶數據庫中包含用戶有權訪問的客戶數據庫中的主鍵值的字段。