JRuby 的 Java 安全管理器

发布于 2024-09-03 20:29:31 字数 50 浏览 6 评论 0原文

当对 Jruby 脚本使用 Java 安全管理器时,是否可以单独授予特定脚本完全权限?

When using Java Security Manager for Jruby scripts, Is it possible give a particular script alone full permissions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

走过海棠暮 2024-09-10 20:29:31

可能还有另一个答案:如果您想要将单独的安全管理器应用于单独的脚本,那么您始终可以在单独的类加载器中启动单独的 JRuby 实例。他们不会分享任何东西,应该保持相当孤立的状态。但 Nick 是对的,目前 JRuby 中还没有内置任何东西来沙箱单个脚本,而且我们也没有任何这样做的计划......

There is potentially another answer: if you have separate security managers you want to apply to separate scripts, then you can always spin up separate JRuby instances in separate classloaders. They won't share anything and should remain pretty isolated. But Nick is right, there's nothing built into JRuby to sandbox individual scripts at the moment, and we don't have any plans to do so...

半仙 2024-09-10 20:29:31

如果您的意思是对应用不同权限的不同脚本使用相同安全管理器,那么答案是否定的,除非您自己编写安全管理器以某种方式感知脚本。无法在安全策略文件中指定脚本(就像为类指定脚本一样)。我目前看到两个选择:

  1. 编写一个自定义安全管理器,可以了解正在运行的脚本,
  2. 将 JRuby 脚本编译为 Java 类(使用 jrubyc --java)并将权限应用于不同的 Java 类。

如需 2 的帮助,我建议查看 Charlie 的

If you mean using the same security manager for different scripts that applies different permissions, then the answer is no, unless you write the security manager yourself to somehow be script-aware. There's no way to specify a script in a security policy file (like you would for classes). I see two options at the moment:

  1. Write a custom security manager that can be made aware of what script is running,
  2. Compile JRuby scripts to Java classes (using jrubyc --java) and apply the permissions to the different Java classes.

For help with 2, I suggest taking a look at Charlie's recent post.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文