Java小程序:再次访问AccessControlException

再次问题与签名的小程序的特权。

我希望自己的自签名小程序从本地驱动器中删除文件,但我得到以下异常:

java.security.AccessControlException: access denied
  (java.io.FilePermission /Users/me/tmp.txt delete)

我在这里调用删除:

    public void deleteFile( String path )
    {
        AccessController.doPrivileged( new Deleter( path ));
    }

这个类删除文件:

class Deleter implements PrivilegedAction {
    public Deleter( String path ) {
        m_path = path;
    }

    public Object run()
    {
        File file = new File( m_path );
        file.delete();
        return null;
    }

    private String m_path;
};

HTML代码是:



 

解决:</强>

我需要添加策略(在OS X下):

cat >> ~/.java.policy

grant {
  permission java.io.FilePermission "<>", "delete";   
};
0
额外 编辑
意见: 1
我不明白为什么这是一个签名applet的问题
额外 作者 Jakub M.,
错误...没有政策文件,是不是替代签字? (显然不是:)
额外 作者 Jakub M.,
@EJP:是的,信任,接受所有等等。
额外 作者 Jakub M.,
当你问你时,你是否告诉浏览器相信你的自签名证书?
额外 作者 EJP,
你明白为什么这是一个安全问题吗?
额外 作者 Jivings,
好的,你的政策档案里有什么?
额外 作者 Jivings,

1 答案

为了授予权限,小程序需要一个策略文件。这定义了他们可以对用户系统做些什么。您可以在此处找到更多信息。

0
额外