0

我正在尝试为每个租户将多个策略配置文件加载到 java 安全管理器中。由于java secuirty 教程指定可以将多个策略文件加载到策略对象,但我的要求是如何在我的 Multi-Tenant 安全模型中指定哪个策略文件必须在运行时加载给哪个用户扩展了默认的安全模型。

4

2 回答 2

0

这听起来有点吓人。如果可能的话,我会为每个租户使用不同的虚拟机。如果你不能这样做,你可能想要使用 Policy.setPolicy。您将需要一个自定义的 Policy 实现,它基本上是多个策略的包装器。它可能必须查阅一些 ThreadLocal 变量来查看哪个用户上下文适用于当前线程,然后委托给适当的包装策略实现。要阅读策略文件,您可能必须直接引用Sun 安全提供程序。不要忘记默认禁止反射,否则您的策略逻辑将很容易规避。

于 2012-06-19T12:23:15.893 回答
0

试着看看这篇博文。Jens Nordahl 描述了如何对不受信任的插件进行沙箱处理,这听起来像是您所需要的。

附言。很抱歉打扰了这篇文章,但它是谷歌上最高的帖子之一。

于 2015-03-06T11:21:46.027 回答