WEB开发网
开发学院服务器FTP服务器 用Java实现FTP批量大文件上传下载(二) 阅读

用Java实现FTP批量大文件上传下载(二)

 2008-08-30 00:00:00 来源:WEB开发网   
核心提示: 七、访问客户端资源Java应用程序环境的安全策略,对于不同的代码所拥有的不同资源的许可,用Java实现FTP批量大文件上传下载(二)(3),它由一个Policy对象来表达,为了让Applet(或者运行在 SecurityManager下的一个应用程序)能够执行受保护的行为,当然,不同的程序对资源

七、访问客户端资源

Java应用程序环境的安全策略,对于不同的代码所拥有的不同资源的许可,它由一个Policy对象来表达。为了让Applet(或者运行在 SecurityManager下的一个应用程序)能够执行受保护的行为,例如读写文件,Applet(或 Java应用程序)必须获得那项操作的许可,安全策略文件就是用来实现这些许可。

Policy对象可能有多个实体,虽然任何时候只能有一个起作用。当前安装的Policy对象,在程序中可以通过调用getPolicy方法得到,也可以通过调用setPolicy方法改变。Policy对象评估整个策略,返回一个适当的Permissions对象,详细说明哪些代码可以访问哪些资源。策略文件可以储存在无格式的ASCII文件或Policy类的二进制文件或数据库中。本文仅讨论无格式的ASCII文件的形式。

在实际使用中,我们可以不需要自己手动去编写那么复杂的java.policy文件,特别是在不使用数字签名时。这时,我们完全可以借鉴JRE提供给我们的现成的 C:Program FilesJavajre1.5.0_12libsecurityjava.policy文件,根据我们的需要做相应的修改,本文就针对不使用数字签名情况编写安全策略文件。下面,是一个完整的在Windows NT/XP下使用的java.policy文件。在文件中,分别使用注释的形式说明了每个“permission”记录的用途。当然,不同的程序对资源访问权限的要求可能不一样,可以根据项目需要进行调整与选择。

  grant  {
  //对系统和用户目录“读”的权限
   permission  java.util.PropertyPermission  "user.dir",  "read"; 
   permission  java.util.PropertyPermission  "user.home",  "read"; 
   permission  java.util.PropertyPermission  "java.home",  "read"; 
   permission  java.util.PropertyPermission  "java.class.pat",  "read"; 
   permission  java.util.PropertyPermission  "user.name",  "read"; 
   //对线程和线程组的操作权限
   permission  java.lang.RuntimePermission  "accessClassInPackage.sun.misc"; 
   permission  java.lang.RuntimePermission  "accessClassInPackage.sun.audio"; 
   permission  java.lang.RuntimePermission  "modifyThread"; 
   permission  java.lang.RuntimePermission  "modifyThreadGroup"; 
   permission  java.lang.RuntimePermission  "loadLibrary.*"; 
   //读写文件的权限
   permission  java.io.FilePermission  "<<ALL  FILES>>",  "read"; 
   permission  java.io.FilePermission  "${user.dir}${/}jmf.log",  "write"; 
   permission  java.io.FilePermission  "${user.home}${/}.JMStudioCfg",  "write"; 
   permission  java.net.SocketPermissio  "*",  "connect,accept"; 
   permission  java.io.FilePermission  "C:WINNTTEMP*",  "write"; 
   permission  java.io.FilePermission  "C:WINNTTEMP*",  "delete"; 
   permission  java.awt.AWTPermission  "showWindowWithoutWarningBanner"; 
   permission  javax.sound.sampled.AudioPermission  "record"; 
  // //操作Socket端口的各种权限
   permission  java.net.SocketPermission  "-",  "listen";  
  permission  java.net.SocketPermission  "-",  "accept";  
   permission  java.net.SocketPermission  "-",  "connect";  
   permission  java.net.SocketPermission  "-",  "resolve";  
   permission  java.security.AllPermission;  
   };
   grant  signedBy  "saili"  {
   permission  java.net.SocketPermission  "*:1024-65535",  "connect,accept,resolve";  
   permission  java.net.SocketPermission  "*:80",  "connect";  
   permission  java.net.SocketPermission  "-",  "listen,  accept,  connect,  listen,  resolve",  signedBy  "ganja";  
   permission  java.net.SocketPermission  "-",  "accept";  
   permission  java.net.SocketPermission  "-",  "connect";  
   permission  java.net.SocketPermission  "-",  "resolve";  
   permission  java.security.AllPermission;  
   };

上一页  1 2 3 4 5  下一页

Tags:Java 实现 FTP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接