Java applet提供AccessControlException

时间:2011-12-25 18:00:37

标签: java applet accesscontrolexception appletviewer

我有一个Java applet,我试图使用HTML applet标签在HTML文件中运行 <applet>,但它抛出以下异常:

Caused by: java.security.AccessControlException: access denied 
    (java.io.FilePermission darkorange.png read)

Oracle网站已经解释过使用以下政策来访问applet:

appletviewer -J-Djava.security.policy=applet 

http://docs.oracle.com/javase/tutorial/security/tour1/examples/WriteFile.html

但这只是在DOS中,如何让浏览器识别安全文件?

1 个答案:

答案 0 :(得分:0)

Applet无法从本地计算机读取/写入文件和/或从/向与其加载的域不同的域连接/读取/写入。它们仅限于类似沙箱的环境,并且需要获得访问受限环境之外的系统资源的权限。 Applet仅限于在其本地目录中进行读取操作。所有其他访问操作都需要权限。我建议您重新考虑从客户端计算机读取文件的要求,因为这显然不是一个有效的要求。

顺便说一下,如果你还是需要这样做,那么你的applet jars必须是signed,并且应该在客户端机器上的用户java.policy文件中为你的applet授予相关权限。请参阅java文档以指定策略。