2010-05-16 49 views
2

我正在實現一個基於Web的文檔管理系統,我想在我的系統中實現ACL。 我的正式要求是分層權限(文檔從文件夾繼承權限)用戶組(用戶可以動態創建組並將用戶與組關聯)。這些組可以擁有系統中對象的權限。Java中良好的ACL實現

我的代碼將查詢的對象的權限有兩種情況:1。 操縱單個文檔 2.列出所有文件,其中一個操作是可能

後者要求似乎爲Spring Security的ACL的阿喀琉斯之踵(其方法似乎可能會導致我管理的每個文檔有多個數據庫匹配)

任何人都知道另一個ACL實現?

謝謝!

回答

2

我對Spring Security的ACL並不熟悉,但我相信典型的ACL是否需要您擊中每個節點,以發現給定主體是否具有該節點上的權限。我不知道是否要在每個要展示的節點上每次都不進行canRead()或canAccess()調用(或類似的)時找到解決該問題的方法。

撇開: 您是否使用符合JSR-170(Java Content Repository或'JCR')的標準進行評估,而不是實施自己的文檔管理系統?有可能,您可以將JCR中的內容用於後端,並只需在其上寫入Web界面即可。 Jackrabbit有一個默認的ACL實現就足夠了。