关于 java security access denied 异常解决

本文介绍了解决Applet在网页中访问数据库时遇到的java.security.AccessControlException异常的方法。通过修改Java运行时环境中的java.policy文件,添加特定权限,使得Applet能够正常访问sun.jdbc.odbc包。
摘要由CSDN通过智能技术生成

 

在网页中执行Applet访问数据库时 出现下列异常:

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)

错误.

 

解决的方案来自于网上的讨论:

http://java.sun.com/developer/onlineTraining/Programming/BasicJava1/dba.html

http://www.javaworld.com.tw/jute/post/view?bid=29&id=71700&tpg=1&ppg=1&sty=1&age=0

这两个地址是关于这个问题的讨论和分析.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值