Java小程序AccessControlException:访问被拒绝(SocketPermission)-我应该将修复放在哪里?

Java小程序AccessControlException:访问被拒绝(SocketPermission)-我应该将修复放在哪里?,java,security,permissions,applet,accesscontrolexception,Java,Security,Permissions,Applet,Accesscontrolexception,好的,我有一个小程序,我正试图嵌入到一个HTML页面中,它抛出: AccessControlException: access denied (java.net.SocketPermission someTarget connect, resolve) 这很好;我知道解决方法是: grant { permission java.net.SocketPermission "someTarget", "connect, resolve"; }; 或 我想知道的是:我需要这两件事中的哪一件,

好的,我有一个小程序,我正试图嵌入到一个HTML页面中,它抛出:

AccessControlException: access denied (java.net.SocketPermission someTarget connect, resolve)
这很好;我知道解决方法是:

grant {
   permission java.net.SocketPermission "someTarget", "connect, resolve";
};


我想知道的是:我需要这两件事中的哪一件,我应该把它放在我的代码中的什么地方?

最简单的修复方法是对小程序进行签名。

最简单的修复方法是对小程序进行签名。

我建议重新连接到下载小程序的主机,这是Java security manager允许的。主机应该完全相同。编辑权限策略文件将毫无用处,因为您必须在希望小程序运行的每台计算机上执行此操作

我建议重新连接到下载小程序的主机,这是Java security manager允许的。主机应该完全相同。编辑权限策略文件将毫无用处,因为您必须在希望小程序运行的每台计算机上执行此操作。正如EJP所述,获得信任的方法是对代码进行数字签名。有关更多详细信息,请参阅

对于来自internet的小程序,将策略文件部署到最终用户计算机是不切实际的。当涉及到所有由您控制的机器网络时,问题就变成了——为什么不使用JWS应用程序呢。?JWS应用程序。仍然需要数字签名(或使用策略文件),但也更易于开发和部署


请注意,“获得信任”并不需要对代码进行任何更改。相反,代码需要由您签名,并在提示时由最终用户信任。我唯一想到的“明白”是,如果使用JS调用applet方法,那么它就会变得不可信,除非您对代码进行一些调整。

正如EJP所提到的,获得信任的方法是对代码进行数字签名。有关更多详细信息,请参阅

对于来自internet的小程序,将策略文件部署到最终用户计算机是不切实际的。当涉及到所有由您控制的机器网络时,问题就变成了——为什么不使用JWS应用程序呢。?JWS应用程序。仍然需要数字签名(或使用策略文件),但也更易于开发和部署

请注意,“获得信任”并不需要对代码进行任何更改。相反,代码需要由您签名,并在提示时由最终用户信任。我想到的唯一一个“问题”是,如果使用JS调用小程序方法,那么它就会变得不可信,除非您进行一些代码调整。

“到同一主机”代理也可以用于从“外部”站点拉入数据。“到同一主机”代理也可以用于从“外部”站点拉入数据。
SocketPermission p1= new SocketPermission("someTarget", "connect,resolve");