5

我正在开发一个需要在服务器上保存文本文件的小程序。在与这个问题搏斗了一段时间后,我偶然发现了 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 文件的计算机上运行这个小程序,我会收到以下错误:

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

除了在每台将使用这个小程序的计算机上编辑 java.policy 文件之外,有谁知道我怎样才能摆脱这个问题?

只是为了澄清:

  • 我的小程序目前没有签名,但它尝试发送文件的服务器与小程序所在的服务器相同

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

4

3 回答 3

2

确切的 URL 是“\pwaidc9...

那不是网址。它是一个 Windows UNC 文件名。您从文件系统下载了小程序,根本不是 TCP 主机,因此您无法使用套接字连接到它。

签署小程序。

于 2012-09-06T14:05:14.120 回答
1

正如 EJP 所提到的,传递小程序的地址和服务器的地址似乎与运行小程序的 JRE 不同。

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

于 2012-09-07T09:44:05.500 回答
-1

如果没有明确的权限来允许在客户端机器环境中进行此类活动,applet 就无法进行网络连接。这是为了客户端机器的安全。默认情况下,所有小程序都在受限制的沙盒环境中运行。

于 2012-09-06T11:41:44.133 回答