[英]spring-security ACL tutorial
我也不喜歡所提供教程的特殊性。 我沒有教程的鏈接,但也許我可以給你一些路標來指導你找到解決方案的方向。
我所做的是創建自己的 ACL 和權限。 我創建了一個新類 SecuredEntity,它是我所有需要 ACL 支持的域實體的父類。 當我從頭開始時,這在我的情況下是可能的。 顯然,如果您不能擴展一個共同的祖先,您可以使用組合而不是繼承。
這個 SecuredEntity 包含我自己的 ACL 實現,它基本上是主體到權限的映射。 主體是帳戶 ID、角色或組。 每個用戶都有一組他們可以充當的主體,這是一組{用戶自己的帳戶、用戶的所有角色以及帳戶所屬的任何組}。
然后,我實現了一個自定義PermissionEvaluator ,它檢索為提供的Authentication指示的用戶設置的主體,然后檢查指示的對象以確定用戶是否已指示權限。
在使用默認表達式處理程序和 Web 表達式處理程序注冊自定義權限評估程序后,我可以使用諸如
@PreAuthorize("hasPermission(#entityId, 'EntityClass', 'read')")
@RequestMapping("/entities/{entityId}")
public String fetchEntity(@PathVariable("entityId") String entityId) {...}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.