Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFileChooser在JApplet中的使用_Java_Applet_Jfilechooser - Fatal编程技术网

Java JFileChooser在JApplet中的使用

Java JFileChooser在JApplet中的使用,java,applet,jfilechooser,Java,Applet,Jfilechooser,JApplet是否可以使用JFileChooser以便用户可以选择硬盘上的文件?或者这会违反Java小程序的安全性?(我假设正在使用默认的安全设置。我不想要求我的用户授予我额外的权限。)在这种情况下(使用默认设置),您是正确的,默认安全管理器不允许访问本地文件。表示在允许使用JFileChooser之前,您需要对小程序进行数字签名。您可能需要使用PrivilegedAction从用户的硬盘读取任何内容。正如@mmyers所说,您还必须对小程序进行签名 因此,您的答案是肯定的,我以前做过,所以我知

JApplet
是否可以使用
JFileChooser
以便用户可以选择硬盘上的文件?或者这会违反Java小程序的安全性?(我假设正在使用默认的安全设置。我不想要求我的用户授予我额外的权限。)

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

表示在允许使用
JFileChooser
之前,您需要对小程序进行数字签名。

您可能需要使用PrivilegedAction从用户的硬盘读取任何内容。正如@mmyers所说,您还必须对小程序进行签名


因此,您的答案是肯定的,我以前做过,所以我知道可以这样做。

如前所述,您需要对小程序进行签名,当用户看到小程序时,会出现“模糊的安全警告”。当用户接受运行此小程序时,该小程序将被授予完全访问权限,其功能与普通应用程序类似,具有明显的安全隐患。对于正在开发的web应用程序,我也处于同样的困境中,目前还不确定它是否会被部署

如果您正在处理较小的文件,您也可以使用webbrowser中的内置文件浏览器,并从服务器中恢复文件内容

此外,您可以针对已签名的小程序采取以下安全措施:

  • 正在验证小程序代码的来源

    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;
    

该链接已断开。wayback和google cache都没有副本如果我找到任何东西我会回到这里看到: