赋予JApplet对本地文件系统的读写访问权限

时间:2012-08-16 22:58:24

标签: java japplet

我有一个JApplet,我想给读写打印等权限。 此applet仅从本地文件系统

加载

我一直在阅读Java教程的控制小程序部分并成功创建了一个策略文件,赋予权限并指定代码库 http://docs.oracle.com/javase/tutorial/security/tour1/index.html

要使示例applet成功写入本地系统,我必须将此行添加到java.security文件中。 policy.url.3 =文件:/家庭/苏沙尼/测试/ examplepolicy

问题是,如何通过代码实现相同的结果?

我假设您从Policy类开始 http://docs.oracle.com/javase/6/docs/api/java/security/Policy.html#getInstance%28java.lang.String,%20java.security.Policy.Parameters%29

使用其中一个getInstance方法

创建一个新策略

政策。 getInstance (字符串类型,Policy.Parameters参数)

策略。 getInstance (字符串类型,Policy.Parameters参数,提供商提供商)

策略。 getInstance (字符串类型,Policy.Parameters参数,字符串提供程序)

并通过Policy。 setPolicy (策略p)方法添加它 然后使用 。政策的刷新();

不幸的是,它似乎与getInstance方法分离,事情开始变得相当混乱,我需要知道的是我需要使用什么类型的策略参数作为参数来为我的applet提供完全权限。

此applet不是从互联网上下载的,它是桌面应用程序的一部分,因此我可以在applet加载之前运行具有完全权限的class / jar文件。我假设您可以在applet加载之前以这种方式设置策略文件?

我认为这实际上是正确的方法。

此致

布雷特

1 个答案:

答案 0 :(得分:1)

如果您可以在沙盒中修改策略,那将是一个非常糟糕的主意......这听起来就像您尝试做的那样。

阅读Set up a Policy File to Grant the Required Permission

在运行Applet之前,您基本上需要在Java的默认实例中更新Policy文件。

或者你可以签名。