网站中的Applet问题(AccessControlException)

时间:2012-12-27 05:41:59

标签: java security applet accesscontrolexception

因此,当我尝试从我的网站加载我的applet时,我得到了

AccessControlException
access denied ("java.io.FilePermission" "cursor.gif" "read")

这对应于我的applet中的代码。

//Modify the cursor when inside the Applet
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image cursorIcon = toolkit.getImage("cursor.gif");
Point center = new Point(16, 16);
Cursor cursor = toolkit.createCustomCursor(cursorIcon, center, "Cursor");
setCursor(cursor);

用Google搜索并尝试

等内容
  • 签署.jar
  • 创建一个策略的东西,但我并不完全理解如何制作它以及如何处理它(有人可以向我解释如何详细地执行策略事项吗?)

当我在日食中运行它时,我的applet工作得很好 另外,如果我注释掉上面的代码,我的applet会工作,所以只是那部分给了我一个错误。

1 个答案:

答案 0 :(得分:0)

您必须将代码包装在特权代码中,如:

final String location = locationVal;

File f = (File) AccessController.doPrivileged(new PrivilegedAction()
{
    public Object run()
    {
        System.out.println("Getting File : " + location);
        File outputFile1 = new File(location);
        return outputFile1;
    }
});

此代码复制自:where policy file location for my applet that needs clients permission to access resource?

同样有用的链接:

关于java策略实现的

http://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html

http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/policytool.html#Usage使用GUI策略文件编辑器