如何使用java web applet访问系统文件?

时间:2013-12-20 07:34:57

标签: java security tomcat applet

我想使用web applet访问系统文件。我的Applet文件在applet查看器中正常工作,但是当我在web上使用这个applet时,它无法生成异常:

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: 
 access denied ("java.util.PropertyPermission" "*" "read,write")

3 个答案:

答案 0 :(得分:1)

在浏览器中运行的Applet在受安全性限制的沙箱环境中运行,并且在未获得此权限的情况下无法直接访问文件系统。有关如何执行此操作的详细信息,请参阅此处:

http://www.coderanch.com/how-to/java/HowCanAnAppletReadFilesOnTheLocalFileSystem

答案 1 :(得分:0)

您需要指定要为applet指定的权限,如果未指定任何内容且applet未签名,则applet将在安全沙箱中运行

如果小程序已签名且未指定任何权限,则会请求所有权限。

Security

  

permissions指定applet所需的权限级别   跑步。以下值有效:

     

sandbox - applet在安全沙箱中运行。
  所有权限 - 小程序需要访问用户系统上的资源。
  default-如果applet已签名,则会请求所有权限。否则,applet将在安全沙箱中运行。

 <APPLET> archive="my_applet.jar" code="MyApplet" width="300" height="300">
     <PARAM name="permissions" value="sandbox" />   
 </APPLET> 
  

如果省略此参数,则假定为默认值。

这个blog post也非常有趣。

答案 2 :(得分:0)

沙盒小程序无法执行以下操作: •他们无法访问客户端资源,例如本地文件系统,可执行文件,系统剪贴板和打印机。 •它们无法连接到任何第三方服务器(除其源自的服务器之外的任何服务器)或从中检索资源。 •他们无法加载本机库。 •他们无法更改SecurityManager。 •他们无法创建ClassLoader。 •他们无法读取某些系统属性。有关禁用的系统属性列表,请参阅系统属性。

•他们无法读取某些系统属性。有关禁用的系统属性列表,请参阅系统属性。

特权小程序

特权小程序没有对沙箱小程序施加的安全限制,并且可以在安全沙箱之外运行。

如果您想阅读自己的文件,则必须签名。