gpt4 book ai didi

从 Web 应用程序运行小程序时的 java.lang.RuntimePermission

转载 作者:搜寻专家 更新时间:2023-11-01 03:10:45 26 4
gpt4 key购买 nike

我正在尝试从小程序读取环境变量,这是我的代码

    String env = System.getenv("TWS");
System.out.println(env);
Runtime rt = Runtime.getRuntime();
String s = env + "\\WebStart.bat " ;
System.out.println(s);
try {
Process p = rt.exec(s);
} catch (Exception e) {
}

当我通过右键单击并运行从 netbeans 运行代码时,它运行没有问题。

但是当我将它放入 jar 文件时,将它添加到我的 Web 应用程序并尝试使用以下代码从 html 页面运行它

<applet code="draw.class" archive='AppletTest.jar'>
<param name="shape" value="triangle"/>
</applet>

我收到一条错误消息,提示 access denied , java.lang.RuntimePermission

我正在使用 tomcat 6 运行此 Web 应用程序。

我已经阅读了一些指南并将以下条目添加到 tomcat 6 中的 catalina.policy 文件并重新启动了 tomcat

permission java.lang.RuntimePermission "accessDeclaredMembers";

但还是一样的警告。有人可以为这个问题提出解决方案吗?

--兰加纳语

最佳答案

当您从 netbeans 运行您的小程序时,Java 虚拟机会在与您通过浏览器运行它时不同的安全机制下运行它。

通过浏览器下载但未使用安全证书签名的小程序被认为是不受信任的,称为未签名的小程序。在客户端上运行时,未签名的小程序在仅允许一组安全操作的安全沙箱中运行。您可以使用 SecurityManager 检查是否向您的小程序授予了特定权限。 .例如在你的情况下:

System.getSecurityManager().checkPermission(new RuntimePermission("accessDeclaredMembers"));

小程序安全你可以了解更多 here here 。可以找到关于制作签名小程序的非常好的教程 here

关于从 Web 应用程序运行小程序时的 java.lang.RuntimePermission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com