Applet中的java.net.SocketPermission
我正在开发一个小程序,它需要在服务器上保存一个文本文件。在与这个问题搏斗了一段时间后,我无意中发现了可以使用ftp连接发送文件的Lynlin.class。如果我在我的C:\Program Files\Java\jre7\lib\security\Java.policy文件中添加以下行,则效果良好:Applet中的java.net.SocketPermission,java,security,ftp,applet,Java,Security,Ftp,Applet,我正在开发一个小程序,它需要在服务器上保存一个文本文件。在与这个问题搏斗了一段时间后,我无意中发现了可以使用ftp连接发送文件的Lynlin.class。如果我在我的C:\Program Files\Java\jre7\lib\security\Java.policy文件中添加以下行,则效果良好: permission java.net.SocketPermission "192.168.33.15:*", "connect, accept ,resolve, listen"; 如果尝试从未编
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(ip 192.168.33.15)上运行的microsoft IIS
- 如果没有明确的权限,小程序无法在客户端计算机环境中进行网络连接。这是为了客户机的安全。默认情况下,所有小程序都在受限沙盒环境中运行
确切的URL是“\pwaidc9
这不是URL。它是Windows UNC文件名。小程序是从文件系统下载的,而不是从TCP主机下载的,因此无法使用套接字连接到它
签署小程序。正如EJP所提到的,交付小程序的地址和服务器的地址似乎与运行小程序的JRE不同
有必要通过服务器访问HTML(an
http://..
地址).完全不正确。所有小程序都可以打开从其加载的服务器的套接字,并且签名的小程序可以打开到任何位置的套接字。-1.是的,但只能从其加载的域中打开,而不是从其他域。再次错误。签名的小程序可以打开到任何位置的套接字。确切的URL为“\\pwaidc9\intranet\Inetpub\RDE\Locked_programs\programs_report.html”,位于我们公司的一个内部网服务器上(pwaidc9为192.168.33.15)。所有.class文件以及我要上载的文件都在“Locked_programs”中“这个文件夹也是ftp服务器的根文件夹。安德鲁,就是这样。”。我用小程序间接引用了页面(href=”file://pwaidc9...
)。我将链接引用更改为http://pwaidc9..
它很有魅力,小程序在所有计算机上都能正常工作。谢谢你的帮助,我永远不会想到这一点。