2012-01-27 65 views
3

我目前正在測試Spring Security的訪問控制列表,並在閱讀了關鍵概念之後,引起了我的注意:有一個表(ACL_ENTRY)爲每個單一實例存儲單個權限每個主體的域對象(假設該主體有權訪問該實例)。在一個擁有大量用戶和大量域對象的大型系統中,我們可以很容易地想象到該表中會有很多記錄,這些記錄可能會經常被查詢(當一個域對象的實例被加載,創建,更新時等)。
現在考慮到這一點,我想知道表演如何受到影響。有沒有人有這方面的經驗?任何反饋?Spring Security的ACL性能

回答

1

我其實剛剛完成了一個近實時應用程序的類似功能。 如果你緩存你的ACL條目和檢索它們的查詢結果(比如每小時查詢一次),它會顯着改善。瓶頸在這裏將是你如何檢索權限而不是實際的授權邏輯。儘管授權邏輯會有一定的課程影響,但是如果您處理內存對象,即使對於實時應用程序也應該可以接受。