风云爱飞

在蓝天自由飞翔

原创 关于java.security.AccessControlException: access denied 的解决方法收藏

方老师:
 
今天调试了您的JDBCUpdateApplet程序.您说在直接用ie打开RunApplet.html文件.会在java控制台报
java.security.AccessControlException: access denied
(java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
错误.我这里也出现了这个错误提示!
根据网上搜索的有关问题的分析.这是因为applet在没有被允许的情况下去获取系统资源.
同时,错误提示需要一个RuntimePermission,它将使applet去获得sun.jdbc.odbc 包.所以
可以在您系统的java运行时包修改一个关于安全的一文件.
具体做法是:找到您的ie浏览器使用的jre包,我家的是:D:\Program Files\Java\jre1.6.0\lib\security,在这个包下面有个java.policy文件,打开编辑它:
在grant里增加2个语句:
permission java.lang.RuntimePermission "accessClassInPackage.sun.jdbc.odbc"; 
permission java.util.PropertyPermission "file.encoding", "read"; 
再关闭ie,重新运行就可以解决这个问题.我在家里的机子中,增加以后就没有在出现上面的错误信息了.
 
增加第二个语句是因为让applet能读一些二进制文件.不然可能会出现
java.security.AccessControlException:
  access denied (java.lang.RuntimePermission
  file.encoding read)
错误.
 
解决的方案来自于网上的讨论:
这两个地址是关于这个问题的讨论和分析.
 

发表于 @ 2007年03月03日 21:58:00|评论(loading...)

新一篇: 关于bridge 模式思想方法和抽象类的用法 | 旧一篇: 启动tomcat的时候一个奇怪的类找不到的错误研究!

Csdn Blog version 3.1a
Copyright © 风云爱飞