.java.policy文件和本地小程序

我正在使用HTMLJava小程序进行交互的HTML页面上工作.小程序的HTML页面,javascript文件和.jar文件将在本地部署到用户文件系统上的文件夹中.

(将其作为独立的Java应用程序进行扩展不是这里的选择;由于种种原因,我将不在此处进行解释).

小程序需要执行本地文件I / O.因此,我试图对用户.java.policy文件中的设置进行tweek允许.

我发现以下设置是唯一可行的设置:

grant 
{
  permission java.io.FilePermission "<<ALL FILES>>", "read";
  permission java.io.FilePermission "<<ALL FILES>>", "write";
};

这是不理想的,因为它授予所有小程序读取和写入所有文件的权限.当然,我更愿意隔离到特定的代码库.但是我找不到有效的“ grant codeBase”语法.

我努力了:

grant codeBase "file:/C:/Files/FileIOApplet/-" {
  permission java.io.FilePermission "<<ALL FILES>>", "read";
  permission java.io.FilePermission "<<ALL FILES>>", "write";
};

grant codeBase "file:///-" {
  permission java.io.FilePermission "<<ALL FILES>>", "read";
  permission java.io.FilePermission "<<ALL FILES>>", "write";
};

grant codeBase  "file:${user.home}/-"
{
  permission java.io.FilePermission "<<ALL FILES>>", "read";
  permission java.io.FilePermission "<<ALL FILES>>", "write";
};

这是使用以下配置运行的:

> Firefox 3.6.10
> Java 1.6更新25
> Windows 7 64位

设置此.java.policy文件时我哪里出错了?

我对Java世界特别是生锈,尤其是使用applet的时候,我很生锈-因此,感谢您的专业知识!

解决方法:

要连接具有访问权限的Applet,请使用以下策略工具设置:

转到policyTool,您将在以下路径中找到它:

java->jdk1.3->bin->policyTool Application

出现“策略工具”窗口.
在“策略工具”窗口中,选择“添加策略条目”按钮.
这将带您到“策略输入”窗口

在那里输入CodeBase作为“ file:/ java bin的路径”.例如

CodeBase   file:/c:/java/jdk1.3/bin/

现在,在“策略输入”窗口中按“添加权限”按钮.
这将带您进入“权限”窗口

从权限下拉列表框中选择“所有权限”.
然后点击“确定”.

现在,再次在“策略输入”窗口中按“添加权限”按钮.

现在,从权限下拉列表框中选择“选择” RunTimepermission”.
现在,在“目标名称”下拉列表框中选择“ accessClassInpackage”,在文本框中输入accessClassInpackage.sun.jdbc.odbc

现在单击“确定”.

现在,在“策略输入”窗口中单击“完成”.

现在在Policy Entry窗口中,文件-> save
将其保存在Java安装的“ bin”中.
记住名字…
例如说..
小程序权限
‘救’

现在,您已经创建了可供访问的策略文件

现在在命令提示符下编译Java文件

javac programname.java

要运行程序,请在cmd提示符下键入以下内容:

appletviewer -J-Djava.security.policy=appletpermission programname.java

现在一切都完成了.

上一篇:java-此小程序在Iced Tea JRE中工作吗?


下一篇:如何将简单的Java游戏放入窗口(小程序)