为什么我的applet没有请求我的权限,而是抛出一个AccessControlException?

时间:2011-04-05 12:36:27

标签: java applet

为什么我的Java Applet在我的本地主机上打开HTML页面时,是否要求我启动权限?

此外,applet启动但它无法执行任何操作。其职责之一是连接网页。但事实并非如此。在控制台中,我可以阅读:

  

java.security.AccessControlException:拒绝访问(java.net.SocketPermission www.onet.pl:80连接,解析)

我想我的Java的安全设置存在问题。

2 个答案:

答案 0 :(得分:0)

自从我编写最后一个Applet以来已经有一段时间了,但我想你可能需要在你的罐子上签名。

答案 1 :(得分:0)

不受信任(即未签名)applet的一般策略是,它们仅允许(以网络方式)连接到从中加载的服务器。对于从文件系统本地加载的applet,这意味着它们可以连接localhost。

只有当applet被签名时(但是如果没有特殊的安全策略文件,用户才能获得所有权限)或者applet使用JNLP函数请求某些访问权限,那么只需要求用户获得权限(但是这仅适用于本地访问) - 为此,您需要最新的插件(1.6.0_10或更高版本)。

正如Tom所说,远程服务器可以允许来自其他站点的applet(以及其他动态Web内容,如JavaScript,Flash等)使用cross domain policy file访问其服务器。我不确定Java插件上的哪个版本实现了这个。