2008-10-24 53 views
5

JApplet可以使用JFileChooser,以便用户可以选择他的硬盘驱动器上的文件吗?或者这会违反Java applet安全性? (我假设正在使用默认安全设置,我不想问我的用户给我额外的权限)。JApplet中使用JFileChooser

回答

3

This thread表示您需要在允许JFileChooser之前对您的小程序进行数字签名。

+0

链接被打破。也没有回写或谷歌缓存都有副本 如果我找到任何东西,我会回到这里 – 2011-08-05 02:24:52

1

在这种情况下(使用默认设置),您是正确的,默认安全管理器不允许访问本地文件。

1

您可能不得不使用PrivilegedAction从用户的硬盘驱动器中读取任何内容。就像@ mmyers说的那样,你也必须签署你的applet。

所以你的回答是肯定的,我之前做过这件事,所以我知道它可以做到。

2

如上所述,您需要签署您的小程序,当用户出现小程序时会导致“模糊的安全警告”。当用户接受运行这个小程序时,小程序被赋予完全的访问权限,并且像普通的应用程序一样具有安全隐患。对于我正在使用的Web应用程序,我处于同样的困境,并且还不确定它是否会被部署。

如果您使用较小的文件,您可以选择使用webbrowser中内置的filebrowser并从服务器反弹文件内容。

此外,一些安全措施,可以使关于签名Applet是:

  • 验证applet代码的来源。

    URL appletUrl = MyApplet.class.getProtectionDomain().getCodeSource().getLocation(); 
    if(appletUrl.toString().equalsIgnoreCase(safeAppletUrl) == false) 
        return false; 
    
  • 验证运行小程序的基本URL。

    URL documentUrl = this.getDocumentBase(); 
    if(documentUrl.toString().equalsIgnoreCase(safeDocumentUrl) == false) 
        return false;