请教问题:java.security.AccessControlException:access denied(java.io.filepermission &

  • 主题发起人 主题发起人 zhanghb
  • 开始时间 开始时间
Z

zhanghb

Unregistered / Unconfirmed
GUEST, unregistred user!
请教问题:java.security.AccessControlException:access denied(java.io.filepermission .. read)帮忙看看(200分)<br />我打算取一个图象文件,单独做一个类,运行没问题,等我把它做到applet里,就出现以下异常了,
java.security.AccessControlException:access denied(java.io.filepermission .. read) ,不让访问了,我只知道applet对安全性要求比较高,但不知怎么解决,多谢了。
 
没人知道吗?
我的程序和图象数据都在一台linux服务器上,用的是tomcat,我在另外一台机器上登陆到服务器写程序并打开ie浏览,可能是applet的安全机制导致有些东西不能读取,怎么解决呀?
 
需要使用数字签名,然后修改客户机上的安全策略配置文件,让客户机信任这个签名.
具体的做法比较繁琐!建议你还是用www.google.com搜索一下,因该有相关的文章
 
to [ only you ]: 先谢了,找了些文章,但不知policy文件在哪里找:
“策略文件有问题。。请修改 policy 文件。。。为其加上 connect.reslove 权限”
 
policy文件在../jre/lib/security目录下,有两个文件:
分别是java.policy和java.security.
你使用policytool.exe打开这两个文件编辑就可以了!
policytool.exe在JDK的bin目录下
 
向 Applet 程序授予访问权限
如果您曾运行过 applet 示例程序,您必然已在点击 Click Me 按钮 时看到错误信息。这是因为 Java 2 平台的安全机制不允许 applet 程序在没有获得 明确的权限时向文件读写数据。
如果没有获得专门的访问权限,applet 程序是无权访问本地系统资源的。因此, 对于从 text.txt 读数据和向该文件写入数据的 FileUIAppl 程序而言,该 applet 程序必须获得每个文件的相应的读 或写访问权限。
访问权限是通过一个策略文件授予的,该策略文件所附带的 appletviewer 供用于 查看 applet 程序。
创建策略文件
策略工具是 Java 2 平台用于创建策略文件的安全工具。 Java 教程 中有关 控制 Applet 程序 的部分详细解释了如何使用策略工具(Policy Tool)。以下 是您运行 applet 程序时必需的策略文件。您可以使用策略工具创建该文件或把以下 文本拷贝到一个 ASCII 文件中。
grant {
permission java.util.PropertyPermission
"user.home", "read";
permission java.io.FilePermission
"${user.home}/text.txt", "read,write";
};
运行带有策略文件的 Applet 程序
如果策略文件的文件名为 polfile 且与名为 fileIO.html 并包含运行 FileIOAppl applet 程序的 HTML语句的 HTML 文件处于同 一目录下,您就可以在 appletviewer 中运行应用程序,如下所述:
appletviewer -J-Djava.security.policy=polfile fileIO.html

--------------------------------------------------------------------------------
注意:如果您的浏览器适用于 Java 2 平台或者如果您安装了 Java 插件,您 就可以在把策略文件保存到本机主目录下后从该浏览器运行 applet 程序。
--------------------------------------------------------------------------------
以下是一个用于运行 FileIOAppl 程序的 fileIO.html 文件::
 
好的 我先试试
 
关于这个问题的一篇不错的文章,推荐,研究之中。。。。。。
http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/policytool.html
 
不过需要指出的是Applet已经逐渐淡出舞台!花很多的时间在上面是不是有点浪费!不过如果你是抱着研究的态度倒也无所谓!
 
接受答案了.
 
后退
顶部