2012-02-06 16 views
2

我正在使用Spring Security,它非常適合在訪問資源之前確保用戶具有特定角色。但現在我需要驗證的東西有點不同:春季安全和正確的方式來驗證用戶有權訪問資源

`/product/edit/{productId}` 

什麼是驗證登錄的用戶的最佳方式「擁有」 productId我的商業映射處理關係(user有一個products的列表)。我需要驗證此產品屬於用戶,因此他們可以對其進行編輯。

我知道如何訪問productId以及控制器和攔截器中的登錄用戶。我不相信這個邏輯屬於控制器。攔截器似乎更好,但我想知道Spring Security是否有一種「接受」的方式來處理這種情況。

回答

1

是的,在Spring中可以通過實現訪問控制列表來實現這一點。 ACL聲明爲每個用戶的單個對象指定權限。一旦將數據庫和邏輯中的所有設置都設置爲acl條目,就可以使用SpEL和@PostFilter註釋來控制返回給用戶的對象列表。

Spring Security Documentation

Related: