我们目前正在定稿的Java EE应用程序使用JBoss PicketLink和Apache DeltaSpike作为其安全框架。所有的认证和授权决定都是使用这些库完成的。由于我们的高安全性要求,我们的大多数EJB服务方法都有权限检查。在某些情况下,非特权用户需要执行特权操作。例如,只有管理员角色的用户才能创建用户帐户。但是,在用户自行注册期间,需要创建用户帐户。通常,我们会对此敏感操作使用诸如“运行方式”之类的内容,因此对于单个调用,非特权用户将有权执行特权操作。使用JBoss PicketLink的“RunAs”支持?
但是,我没有看到PicketLink文档或示例中的任何内容,表明PicketLink支持此功能。我知道其他的安全框架。 Java EE甚至通过@RunAs注解支持这一点。然而,我们不希望这样做,因为我们希望对可应用的位置进行非常细致的控制。
任何人都可以指向我的任何文档或例子,将解释如何做到这一点? PicketLink支持这种功能吗?或者我们运气不好?你有不同的方法可以用来解决这种情况和要求吗?
您是否在PicketLink中使用XACML?运行方式特征通常作为身份验证框架和使用属性的策略的组合来实现,例如, onbehalfof ... –
不使用XACML。这似乎是比我们现在需要的更重量级的增加。 – Shadowman
XACML并不重量级,但考虑到您的用例,听起来您需要身份验证层来处理模仿 –