java applet 签名_签名的Java Applet在从JavaScript调用时提供AccessControlException

首先我知道我的问题与in here相同。但这个问题并没有帮助我。

我有自我签名的小程序。

jarsigner -verify sJSApplet.jar

jar verified.

Warning:

This jar contains entries whose signer certificate will expire within six months.Applet的目的是从LAN机器打开MS Word文档。

到目前为止,我尝试使用Desktop.open()和Runtime.exec()打开。使用AccessController.doPrivileged而没有。我总是得到java.security.AccessControlException: access denied。

我没有选择。我还能做什么?

我无法使用java.policy文件。

HTML

function openFile( command ) {

var applet = "Applet failed to run. No Java plug-in was found.";

var body = document.getElementsByTagName("body")[0];

var div = document.createElement("div");

div.innerHTML = applet;

body.appendChild(div);

}

Open file

Java代码:

public class WordApplet extends JApplet {

@Override

public void init() {

openFile(getParameter("filePath"));

};

public void openFile(final String path) {

AccessController.doPrivileged(new PrivilegedAction() {

@Override

public Object run() {

try {

Runtime.getRuntime().exec("winword " + path);

//Desktop.getDesktop().open(new File(path));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

});

}

}全堆栈跟踪

java.security.AccessControlException: access denied (java.io.FilePermission <> execute)

at java.security.AccessControlContext.checkPermission(Unknown Source)

at java.security.AccessController.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkExec(Unknown Source)

at java.lang.ProcessBuilder.start(Unknown Source)

at java.lang.Runtime.exec(Unknown Source)

at java.lang.Runtime.exec(Unknown Source)

at java.lang.Runtime.exec(Unknown Source)

at com.test.applet.JSApplet$1.run(JSApplet.java:34)

at java.security.AccessController.doPrivileged(Native Method)

at com.avacoda.swing.JSApplet.openFile(JSApplet.java:29)

at com.avacoda.swing.JSApplet.init(JSApplet.java:25)

at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)

at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

basic: Applet initialized

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值