2014-10-07 69 views
0

我想把彈簧安全性放在數據庫對象級別上,我知道spring爲此提供瞭解決方案,我可以創建四個表,然後我必須將我的數據映射到這些表。這是額外的開銷因爲表的大小隨着實際數據的增長而增長。java數據庫對象級別安全

java中是否還有其他解決方案或框架?

基本上我想要把每一個數據庫查詢特定的過濾器一樣

如果我有以下作用:

聯繫

教師

學生

現在,如果我要去爲用戶提取主題,那麼我不得不提出以下限制:

聯繫:無過濾

老師:這是他教

學生科目:科目,他讀

這些過濾器應在主題表解僱每次查詢都可以應用。

回答

1

Spring安全性ACL完全符合您的需求。這不是最簡單的部分,但它非常強大。配置完成後,只需簡單地添加註釋,即可在方法級別(通常位於UI和數據庫之間的服務層)添加安全性。

我的建議是:

  • 第一準備春季安全性,而ACL,但有一個數據庫存儲
  • 閱讀文檔的訪問控制列表部分
  • 添加相關的表到你的數據庫並進行初始化用手
  • 再次讀取文檔和測試

您也可以在http://krams915.blogspot.fr/2011/01/spring-security-3-full-acl-tutorial.html找到教程,但我從未使用它。

+0

是春天的安全性ACL是正確的事情,但認爲有兩個問題是: 1.我要地圖ACL數據庫中的所有我的數據庫表 2. ACL數據庫大小將隨着實際數據的大小增長。 – 2014-10-07 09:41:12

+0

對於第1點:您必須在ACL表中引用相關實體表(您想要爲其添加安全性的表) - 您自己的表不會更改。第2點:這是真的,但除非許多用戶訪問許多實體,否則ACL基礎的大小通常遠低於業務大小。但你是真實的:這是一個很好的工具,而不是用於任何用例的**工具。 – 2014-10-07 10:09:49

+0

感謝您的輸入 – 2014-10-07 10:45:47