我不是Spring 4的新手,但我是Spring Security 4 ACL的新手。我剛剛在我的MVC web-app上實現了Spring Security 4,這些都是後端Web服務。一個鏈接,我做了什麼張貼在這裏:Spring Security 4 ACL爲用戶和角色分配權限
http://stackoverflow.com/questions/33787085/spring-security-4-with-third-party-authentication-token
而這增加了我的URL的安全性,只有具有特定角色的用戶可以請求一個URL。這很棒!我們使用SiteMinder示例,而不是傳回用戶名,而是在請求標頭中回傳令牌。我們打電話給OpenAM傳遞這個令牌,我們找回一個用戶名。我們使用Hibernate Authentication從我們的數據庫獲取用戶信息,我們爲該用戶獲取角色,併爲我們製作UserDetails,並以這種方式爲這個經過身份驗證的用戶提供SecurityContext。
但現在我正在接受一個新的挑戰,在同一個MVC網絡應用程序中,那就是我想爲我的對象添加ACL安全性。我已經做了大量的研究,將來會有更多,我還有幾個問題。
看來我可以在ACL表中應用安全性(創建和/或檢索和/或刪除和/或更新和/或等等)。我想知道是否有可能應用安全是這樣的:
userA SomeCarObject has permissions (create,read,update)
userB SomeCarObject has permissions (read)
roleA SomeCarObject has permissions (update)
roleB SomeCarObject has permissions (delete)
所以,既可以在用戶和角色都有不同的權限,一個對象?
我們有三種不同的對象類型:汽車,動物,花朵 我們希望使用ACL爲用戶和角色分配不同的權限,以滿足這些對象類型的每一種。
這可以用Spring Security 4中的ACL來完成嗎?你知道有哪些好的例子嗎?或者,我們是否必須擁有所有用戶權限? 因此,如果我們有3個用戶的角色,那麼我們需要在acl表中有3個條目,每個用戶有一個條目?這就引出了問題......如果用戶改變角色,那麼我們將不得不重新評估他們的權限,我們可能需要添加或刪除ACL表中的記錄?
我也在看如何權限的工作。我們現在在舊系統中使用一個位掩碼來跟蹤權限,所以我們有recursiveRead(1),read(2),write(4),delete(8),create(16),upload(32),關閉(64)等等。似乎我們可以擁有32位許可,這對我們來說非常有用。
所以,我正在看我們如何在ACL中定義這些權限。
隨着我獲得更多信息,我一定會在此發佈。謝謝!
太棒了!感謝您的信息。我會讓你知道結果如何。 – tjholmes66