我有一个applet,在尝试与服务器通信时(在localhost上运行)会抛出此异常。此问题仅限于Applet - POJO客户端能够毫无问题地与完全相同的服务器进行通信。
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.net
.SocketPermission 127.0.0.1:9999 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
我的applet.policy文件的内容是:
grant {
permission java.security.AllPermission;
};
我的问题是我需要修改安全设置的其他地方,以便为Applet授予更多安全设置?
谢谢。
编辑:Another SO question: Socket connection to originating server of an unsigned Java applet
这似乎描述了完全相同的问题,Tom Hawtin - tackline 's answer提供了原因(一个安全补丁发布,禁止applet连接到localhost
)。考虑到这一点,我如何授予applet安全设置,以便确实可以在我的机器上运行。另外为什么它在其他机器上运行但不是我的?
答案 0 :(得分:1)
看到这个:http://sunsolve.sun.com/search/document.do?assetkey=1-66-246387-1,很明显Applet从localhost运行(没有部署到Web服务器)无法访问localhost。
此问题没有解决方法
<强> 4。解决方法强>
此问题没有解决方法。 请参阅决议部分 下方。
我的建议如下:
它规定:
验证签名的用户可以 授予您的JAR捆绑软件 安全特权,它不会 通常有。