我正在尝试将多个策略配置文件加载到每个租户的java安全管理器中。正如java secuirty tutorial所指定的,可以将多个策略文件加载到策略对象,但我的要求是,在扩展默认安全模型的多租户安全模型中,如何在运行时指定必须将哪个策略文件加载到哪个用户。
发布于 2012-06-19 20:23:16
这听起来有点吓人。如果可能的话,我会为每个租户使用不同的VM。如果您不能做到这一点,您可能想要使用Policy.setPolicy。您将需要一个自定义的Policy实现,它基本上是多个策略的包装器。它可能必须查阅一些ThreadLocal变量来查看哪个用户上下文适用于当前线程,然后委托给适当的包装策略实现。要读取策略文件,您可能必须直接引用Sun security provider。不要忘记在默认情况下禁止反射,否则您的策略逻辑将很难绕过。
发布于 2015-03-06 19:21:46
试着看看this blog post。Jens Nordahl描述了如何用沙箱保护不受信任的插件,这听起来就像你需要的。
Ps。很抱歉撞上了这篇文章,但它是谷歌上最高的文章之一。
https://stackoverflow.com/questions/11100122
复制相似问题