2013-08-07 229 views
1

我已閱讀spring安全文檔,並瞭解到我可以使用以下注釋來檢查主題是否有權訪問編輯用戶。自定義註釋與彈簧安全

@PreAuthorize("hasPermission('USER_EDIT')") 
public String editUSer(User user); 

我想要做的就是寫我的自定義註釋MyAutorizationCheck和使用它像下面

@MyAuthorizationCheck(Application.USER_MANAGEMENT, AccessLevel.EDIT) 
public String editUSer(User user); 

凡申請和ACCESSLEVEL是枚舉。

enum Application{ 
    USER_MANAGEMENT, ORDER_MANAGEMENT 
} 

enum AccessLevel{ 
    READ, CREATE, UPDATE, DELETE 
} 

這個註釋的處理程序應該能夠決定用戶是否有權限。

任何指針如何實現這個?

謝謝。

+0

你有沒有找到一個解決這個?我有同樣的問題沒有答案。 – user1751547

回答

0

這不是對你的問題的直接回應。

作爲workoround你可以繼續使用內置的註釋:

@PreAuthorize("hasPermission('USER_MANAGEMENT_READ')") 
@PreAuthorize("hasPermission('USER_MANAGEMENT_CREATE')") 
@PreAuthorize("hasPermission('USER_MANAGEMENT_UPDATE')") 
@PreAuthorize("hasPermission('USER_MANAGEMENT_DELETE')") 

@PreAuthorize("hasPermission('ORDER_MANAGEMENT_READ')") 
@PreAuthorize("hasPermission('ORDER_MANAGEMENT_CREATE')") 
@PreAuthorize("hasPermission('ORDER_MANAGEMENT_UPDATE')") 
@PreAuthorize("hasPermission('ORDER_MANAGEMENT_DELETE')")