【发布时间】:2011-08-31 06:37:59
【问题描述】:
我正在处理一个使用 Javascript 与 Java 小程序交互的 HTML 页面。小程序的 HTML 页面、javascript 文件和 .jar 文件将在本地部署到用户文件系统上的文件夹中。
(这里不能将它作为一个独立的 Java 应用程序来实现;由于各种原因,我不会在这里解释)。
applet 需要做本地文件 i/o。因此,我正在尝试调整用户 .java.policy 文件中的设置以允许这样做。
我发现以下设置是唯一可行的设置:
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";
};
这是使用此配置运行的:
- 火狐3.6.10
- Java 1.6 更新 25
- Windows 7 64 位
我在设置这个 .java.policy 文件时哪里出错了?
我对 Java 世界非常生疏,尤其是使用小程序时 - 所以您的专业知识值得赞赏!
【问题讨论】:
标签: java applet policyfiles