[英]java.security.AccessControlException: access denied (java.io.FilePermission file read)
[英]Java.security.Access.ControlException: access denied(“java.io.FilePermission” “[object file]” “read”)
我有以下问题:
我有一个Java程序,通过Applet接收二进制文件。
我使用getParameter(file)
收到该文件,并使用java.io.FileInputStream(file)
读取该文件。
我把这个文件放在Web服务器上并通过javascript调用java程序
首先,当我运行程序时,发生了消息错误:
Java.security.Access.ControlException: access denied("java.io.FilePermission" "[object file]" "read")
我通过keytool
创建了一个密钥,并使用jarsigner
签署了jar文件。
但是,即使执行命令jarsigner
,当我再次运行Java程序时,错误消息仍然会发生:
Java.security.Access.ControlException: access denied("java.io.FilePermission" "[object file]" "read").
因此,即使签名后错误仍然存在。
我真的不知道该怎么办。
谁能帮我?
在java代码下面:
public class InJava extends Applet{
String parametro;
public void sayHello() {
parametro = getParameter("parametro");
java.io.FileInputStream fis = null;
try {
fis = new java.io.FileInputStream(parametro);
}
catch (Exception e) {
String retorno_exc = e.toString();
return ;
}
}
您需要将代码包装在AccessController.doPrivileged中 ,如:
public class InJava extends Applet{
public void sayHello() {
final String parametro = getParameter("parametro");
FileInputStream fis = AccessController.doPrivileged(new PrivilegedAction<FileInputStream>() {
public FileInputStream run() {
try {
retrun new FileInputStream(parametro);
} catch (IOException e) {
// handle exception
}
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.