我发现,我必须写一个策略文件的权限授予我的小程序...
但我真的很困惑与它... :(
我想要写一个小程序,是一个地图浏览器,我需要保存在客户端运行小程序我的本地接入瓷砖的是利于用户获得速度和时间观看安全地图图像瓦片...
因此,小应用程序需要授予权限,读/写,并在客户端TEMPDIR目录。
现在,我想要写一个政策文件,以获得许可,我的小程序,我不希望用户参与到这一点,相反,我想自己写策略文件授予权限小程序...
现在哪里是政策文件的位置? 在applet的jar文件? 如何将小程序使用策略文件?
请帮我
简单的答案是否定的,你不能远程更改策略。 哪里是如果你可以只覆盖用户的计算机上的策略的安全性?
在企业环境中,这是有可能通过桌面管理/配置系统。 如果你想测试,你可以手动更新策略文件。 它坐落于此Windows上,
${user.home}\java.policy
${java.home}\lib\security\java.policy
为单个用户的第一个改变政策,第二个会影响整个系统。
使用该策略文件是不是一个好主意,因为它太复杂,用户编辑。 相反,你应该获得一个证书(费用$ 200 - $ 400 /年),并签上你的小程序。 将允许您访问文件。
你可以尝试一个测试证书,您可以生成免费的。 这可能会有帮助。
您需要登录您的小程序,然后在这样的代码特权块包裹文件操作。
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;
}
});
作为参考的JRE策略文件的默认位置是如下
在Windows计算机上。
C:\ Program Files文件\的Java \ JRE版本\ lib \ security中\的java.policy
Java 6的更新13策略存储在这里
C:\ Program Files文件\的Java \ jre1.6.0_13 \ lib \ security中\的java.policy
如上所述,你不能,而无需访问本机编辑这个文件。
文章来源: where policy file location for my applet that needs clients permission to access resource?