【问题标题】:java.security.AccessControlException:java.security.AccessControlException:
【发布时间】:2011-12-23 05:18:18
【问题描述】:

这可能是老错误,但我被困在这里。

我创建了 Java 小程序来访问 Oracle 数据库。我打算把这个小程序放在本地网络中。我的小程序在 Eclipse 和 Netbeans 中运行良好,但是当我通过“appletviewer”运行时,它进入连接字符串并显示错误:

Error e java.security.AccessControlException: access denied (
    "java.util.PropertyPermission" "oracle.net.wallet_location" "read")

我已经使用这种 Oracle 技术为 Signed Applets 签署了小程序。

我使用了拥有完全权限的数据库用户。此外,当我使用策略文件运行时,它会显示相同的错误。

小程序如何成功连接数据库?


用于加载小程序的 HTML 是:

<applet
    code=tree.pacg.DrawApplet.class
    codebase=c:\tree\pacg
    archive=DrawApplet.jar,ojdbc14.jar
    height="800"
    width="1000"> 
</applet>

【问题讨论】:

  • 当我在 ie 中运行小程序时,它显示安全警告Java has discovered application components that could indicate a secuirty concern. 我点击了“是”。但随后什么都没有显示..
  • 先生,我的小程序总码是&lt;applet code=tree.pacg.DrawApplet.class codebase=c:\tree\pacg archive=DrawApplet.jar,ojdbc14.jar height="800" width="1000"&gt; &lt;/applet&gt;
  • 1) code 应该是 tree.pacg.DrawApplet。 2) codebase 应该是一个 URL,类似于 file:C:///tree/pacg 3) ojdbc14.jar 需要在以这种方式部署时进行数字签名。 ojdbc14.jar 是否经过数字签名? 4) 为获得最佳效果,请将所有属性包含在双引号 (") 中。
  • 1) 是的代码是tree.pacg.DrawApplet 2) 我把代码库放在file:/C:/tree/pacg 3) ojdbc14.jar 是一个oracle 数据库驱动程序,所以它们已经被签名了 4) 我把所有的属性值都放在了double引号......但同样的错误

标签: java oracle applet appletviewer


【解决方案1】:

解决了!!

我签署了 ojdbc14.jar 文件,它可以工作了!!

我还创建了新的策略文件并授予它“全部”访问权限,然后它也可以通过“appletviewer”工作

谢谢..谢谢先生..

【讨论】:

  • 我建议您在答案中添加解决步骤,然后接受它
【解决方案2】:

当我在 ie 中运行小程序时,它显示安全警告 Java 发现了可能表明存在安全问题的应用程序组件。

这样的?

顺便说一句 - 如果此时单击 ,代码应该不会被阻止,因此应该运行。

但即使看到那个对话框也很烦人。如果它可能让开发人员感到困惑,那么它必然会让最终用户感到困惑。


有关此行为的说明,请参阅 Mixing Signed and Unsigned Code Ensuring Application and Applet Security。但请特别参阅 Deploying Signed Applications and Applets Securely Without a Mixed Code Warning 了解如何允许混合未签名和已签名代码。

另一种选择 - 使用相同的证书签署所有 Jar - 也可以,但有时会被部署许可证或其他因素禁止。

在签署代码时。

我。

3) ojdbc14.jar 以这种方式部署时需要进行数字签名。 ojdbc14.jar 是否经过数字签名?

OP。

3) ojdbc14.jar 是一个oracle 数据库驱动,所以它们已经被签名了

..4 小时后...

我签署了 ojdbc14.jar 文件,它可以工作了!!

【讨论】:

  • 注意,如果您对该对话框单击“否”,您实际上是在授予未签名代码的权限。
  • 查看here以编程方式更改混合代码设置
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 2012-09-01
  • 1970-01-01
相关资源
最近更新 更多