【发布时间】:2015-06-20 22:51:07
【问题描述】:
我有一个签名的 Java Applet,它具有以下方法:
public Boolean SaveToFile(String text)
{
File file = new File("c:\\myFile.txt");
// if file doesnt exists, then create it
if ( ! file.exists( ) )
{
file.createNewFile( );
}
file.setReadable(true);
file.setWritable(true);
FileWriter fw = new FileWriter( file.getAbsoluteFile( ) );
BufferedWriter bw = new BufferedWriter( fw );
bw.write( text );
bw.close( );
return true;
}
当我从小程序内的按钮调用此方法时,它会毫无问题地创建文件。
问题是当我从 java 脚本调用这个方法时,我有以下异常:
access denied (java.io.FilePermission c:\myFile.txt read)
我该如何解决这个异常?
【问题讨论】:
-
尝试用 AccessController.doPrivileged(new PrivilegedAction
-
我尝试使用 AccessController 但我有同样的异常\
-
如果你使用maven来构建这个applet jar,你是否在build/plubins/plugin{maven-jar-plugin}/configuration/archive/manifestEntries : tag
all-permissions权限> ? -
我正在使用 NetBeans,并且我的清单文件中有以下行:权限:all-permissions Caller-Allowable-Codebase: *
-
“我尝试使用 AccessController 但我有同样的异常” 这是唯一的解决方案。显示更新的代码。在代码中添加一些内容以证明 JRE 是使用新代码而不是 Jar 的缓存副本。
标签: java javascript security applet