考慮一些基本的授權框架User
s和Group
s應該通過檢查來保護對方法的訪問,這些檢查確保用戶或組具有必要的PriviledgeLevel
來執行該方法並且否則將失敗。是否可以使用註釋實現方法級訪問檢查?
我想象的是這樣的:
@AccessCheck(PriviledgeLevel.ADMINISTRATOR)
public static void secureMethod(){ ... }
當代碼檢查基本上沒有
if(currentUser.getPriviledgeLevel >= PriviledgeLevel.ADMINISTRATOR ||
currentUser.getGroup.priviledgeLevel >= PriviledgeLevel.ADMINISTRATOR)
// Allow access
else
// Deny access
是否有可能實現這種方式?
我做了一些研究,指出基於AspectJ的一些現有事物,主要是Security Annotation Framework(SAF)和Spring Security。
我有點擔心,因爲SAF不再那麼活躍,文檔也不是很好。
我不確定Spring Security,但它似乎更關注與Web相關的主題中的安全問題。
Java Authentication and Authorization Service似乎是相關的,但不使用註釋方法。
試圖用這種聲明式方法來定義這些安全需求是否有意義?
是否有另一個圖書館/框架我想念,已經實現了我想要的或一些技術在這裏將是相關的?
還是有一個完全不同的解決方案(比如實現我自己的ClassLoader
,...),它優於我想象的(就圖書館用戶的簡潔性和可讀性而言)?
Spring Security是一個自下而上的解決方案,它不僅專注於Web相關的安全性。事實上,我在開始使用Spring安全軟件之前,還沒有在網絡安全中使用它。 – bluefoot