我有一个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加载之前以这种方式设置策略文件?
我认为这实际上是正确的方法。
此致
布雷特
答案 0 :(得分:1)
如果您可以在沙盒中修改策略,那将是一个非常糟糕的主意......这听起来就像您尝试做的那样。
阅读Set up a Policy File to Grant the Required Permission。
在运行Applet之前,您基本上需要在Java的默认实例中更新Policy文件。
或者你可以签名。