我們目前正在定稿的Java EE應用程序使用JBoss PicketLink和Apache DeltaSpike作爲其安全框架。所有的認證和授權決定都是使用這些庫完成的。由於我們的高安全性要求,我們的大多數EJB服務方法都有權限檢查。在某些情況下,非特權用戶需要執行特權操作。例如,只有管理員角色的用戶才能創建用戶帳戶。但是,在用戶自行註冊期間,需要創建用戶帳戶。通常,我們會對此敏感操作使用諸如「運行方式」之類的內容,因此對於單個調用,非特權用戶將有權執行特權操作。使用JBoss PicketLink的「RunAs」支持?
但是,我沒有看到PicketLink文檔或示例中的任何內容,表明PicketLink支持此功能。我知道其他的安全框架。 Java EE甚至通過@RunAs註解支持這一點。然而,我們不希望這樣做,因爲我們希望對可應用的位置進行非常細緻的控制。
任何人都可以指向我的任何文檔或例子,將解釋如何做到這一點? PicketLink支持這種功能嗎?或者我們運氣不好?你有不同的方法可以用來解決這種情況和要求嗎?
您是否在PicketLink中使用XACML?運行方式特徵通常作爲身份驗證框架和使用屬性的策略的組合來實現,例如, onbehalfof ... –
不使用XACML。這似乎是比我們現在需要的更重量級的增加。 – Shadowman
XACML並不重量級,但考慮到您的用例,聽起來您需要身份驗證層來處理模仿 –