Applet中的java.net.SocketPermission

时间:2012-09-06 10:56:55

标签: java security ftp applet

我正在开发一个需要在服务器上保存文本文件的applet。在与这个问题摔跤了一段时间后,我在Lynlin.class上偶然发现了可以使用ftp连接发送文件的互联网。如果我在我的C:\ Program Files \ Java \ jre7 \ lib \ security \ java.policy文件中添加以下行,那该工作正常:

permission java.net.SocketPermission "192.168.33.15:*", "connect, accept ,resolve, listen";

如果我尝试从没有编辑java.policy文件的计算机上运行此applet,我会收到以下错误:

java.security.AccessControlException: access denied 
    ("java.net.SocketPermission" "192.168.33.15:21" "connect,resolve")*

除了在将要使用此applet的每台计算机上编辑java.policy文件之外,有谁知道我怎么能摆脱这个问题呢?

只是为了小心翼翼:

  • 我的applet目前尚未签名,但尝试发送文件的服务器与applet所在的服务器相同

  • http和ftp服务器是在Windows Server 2003上运行的Microsoft IIS(ip 192.168.33.15)

3 个答案:

答案 0 :(得分:2)

  

确切的网址是“\ pwaidc9 ...

这不是网址。它是Windows UNC文件名。您从文件系统下载了applet,而不是TCP主机,因此您无法使用套接字连接它。

签署小程序。

答案 1 :(得分:1)

正如EJP所提到的,提供applet的地址和服务器的地址似乎与运行applet的JRE不同。

必须通过服务器访问HTML(http://..地址)。

答案 2 :(得分:-1)

如果没有明确的权限允许applet在客户端计算机环境中进行此类活动,则无法进行网络连接。这对于客户机的安全性是如此。默认情况下,所有applet都在受限制的沙盒环境中运行。