繁体   English   中英

Applet中的java.net.SocketPermission

[英]java.net.SocketPermission in 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")*

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

只是为了小心翼翼:

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

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

确切的URL是“\\ pwaidc9 ...

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

签署小程序。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM