2011-03-03 81 views
1

我的applet的.java.policy條目存在問題。使用帶有策略的已簽名Applet的問題文件

我會嘗試用applet創建文件夾和文件。我已經簽署了我的罐子,在$ {}的user.home/java.policy文件,文件中的以下行補充說:

grant { 
    permission java.io.FilePermission "<<ALL FILES>>", "read"; 
    permission java.io.FilePermission "<<ALL FILES>>", "write"; 
}; 

這種添加的行,我的小應用程序的偉大工程,但這不是一個好風格,因爲任何地方的每個jar都會變成文件權限

在oracle頁面中,將codeBase設置爲指定的applet.jar並將signedBy(將簽名爲jar文件的別名)設置爲grand權限的示例。

我已經嘗試了很多次,但它不起作用。

代碼中,我曾嘗試:

grant codeBase "http://www.wkmovies.de/appletDemo/-" { 
    permission java.io.FilePermission "<<ALL FILES>>", "read"; 
    permission java.io.FilePermission "<<ALL FILES>>", "write"; 
}; 

grant signedBy "AKlettke" { 
    permission java.io.FilePermission "<<ALL FILES>>", "read"; 
    permission java.io.FilePermission "<<ALL FILES>>", "write"; 
}; 

我已經上傳這個例子:www.wkmovies.de/appletDemo/index.html

我如何可以設置策略文件,我的小程序將工作?


這裏我的代碼剪: HTML:

<a href="javascript:document.applet1.createFolder();"> 
    Create Folder at C:\\Temp 
</a> 
<applet name="applet1" id="applet1" width="0" height="0" alt="" 
    archive="applets/Demo.jar,applets/lib/commons-lang-2.4.jar" 
    code="demo.FolderCreator.class"> 
</applet> 

FolderCreator類:

try { 
    File f = new File("C:\\temp"); 
    f.mkdir(); 
    JOptionPane.showMessageDialog(null, "folder created", 
    "successfull", JOptionPane.INFORMATION_MESSAGE); 
} catch (Exception e) { 
    e.printStackTrace(); 
    JOptionPane.showMessageDialog(null, e.getMessage(), 
    e.getClass().getName(), JOptionPane.ERROR_MESSAGE); 
} 

(JDK1.6.0_23,火狐3.0.19,WINXP 32位)

回答