有人用启用的Java SecurityManager运行Apache Sling吗?这需要一个特殊的 java.policy 文件来允许所有部署的捆绑包完成的操作,并且拥有一个已经允许基本Sling Starter提供的捆绑包所需的基本版本非常有帮助,并且可以为其他部署的代码添加策略。
如果有人能说在 Sling 设置中使用 SecurityManager 是不可行的,我也会感兴趣,这可能是由于它的设计属性(例如在运行时将 JSP 添加到 JCR 的能力)。
背景:如果您在一台服务器上运行多个命令的代码,则可能需要将它们的代码相互分离。虽然 OSGI 确实有一些机制可以将包相互分离,但恶意代码使用例如 Java 反射从其他包提供的服务中获取内部内容是微不足道的。启用的安全管理器至少可能会使这变得更加困难。
(我确实意识到,即使使用安全管理器,恶意代码也很可能会使用错误和设计缺陷来访问系统上其他用户的资源,并且可能将代码与不同授权人认真分离的唯一方法是使用不同的服务器。但至少可以尝试使其变得困难。)