我們的是特定於domain.Here產品是一些典型的安全使用情況,過濾
- 普通用戶可以根據權限僅編輯自己的個人資料數據或任何數據
- 用戶可以看到屬於他的部門只有數據,而其他用戶可以從各個部門的數據
這些需求的變化,從客戶到客戶,所以我們不能僅僅硬編碼在應用程序代碼中的過濾邏輯或維護ap的多個版本摺疊。
我們使用基於內容的過濾Hibernate的標準和想補充基於與許可相關的一些表達式的其他限制。上面提到的用例1的表達式可能看起來像這樣,'userId=user.userId'
其中'user'是一個關鍵字並且表示當前經過身份驗證的用戶,'userId'是創建標準的對象的屬性。
我們想要定義一個dsl,我們可以使用它來導出標準限制以及SQL的'where'子句。
是否有任何現有的框架,使我們能夠做到這一點,而不用去dsl?基於上面提到的用例,你認爲它可以以不同的方式實現嗎?
附加信息:我們只定義帶有元信息的域對象來生成UI。我們的核心框架將保持持久性,安全性等。
埃米爾,我知道Hibernate過濾器,但它不符合我們的需要。感謝您的建議。 – Adi 2012-01-23 10:19:51