0

我有一个确实应该安装的应用程序,但在使用 JNLP 部署时确实可以正常工作。

但是,使用默认安全选项时,某些 Java 功能(例如)似乎Runtime.exec无法正常工作。

因此,我想禁用依赖这些功能的 UI 功能。

所以我的问题是,如何在运行时检测某些功能是否可用?

当然,这里的案例研究是Runtime.exec

4

3 回答 3

1

如果您对 checkExec 方法具有 Exec 权限,您想询问SecurityManager 。

于 2008-08-29T02:18:20.883 回答
1

我还发现将以下内容添加到 JNLP 文件中:

<security>
    <all-permissions/>
</security>

并且对 JAR 文件进行签名允许应用程序以Runtime.exec.

于 2008-08-29T02:28:50.423 回答
0

对于 Runtime.exec 的具体示例,SecurityManager 类 checkExec(String cmd) 上有一个方法,该方法将引发异常,可以捕获该异常以确定是否可以执行必要的命令。有关详细信息,请参阅 Runtime.exec 和 SecurityManager.checkExec 的 javadoc。

更一般的情况需要创建一个 Permission 对象来表示正在检查的任务并运行 SecurityManager 的 checkPermission 方法。

于 2008-08-29T02:37:05.067 回答