---- 下面,是一个完整的在Windows 95/98/NT下使用的.java.policy文件。在文件中,分别使用注释的形式说明了每个“permission”记录的用途。 // For LanServerTalk.java and LanClientTalk.java 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.path", "read"; permission java.util.PropertyPermission "user.name", "read"; //对线程和线程组的操作权限 permission java.lang.RuntimePermission "modifyThread"; permission java.lang.RuntimePermission "modifyThreadGroup"; //操作Socket端口的各种权限 permission java.net.SocketPermission "-", "listen"; permission java.net.SocketPermission "-", "accept"; permission java.net.SocketPermission "-", "connect"; permission java.net.SocketPermission "-", "read"; permission java.net.SocketPermission "-", "write"; //读写文件的权限 permission java.io.FilePermission "-", "read"; permission java.io.FilePermission "-", "write"; //退出系统的权限,例如System.exit(0) permission java.lang.RuntimePermission "exitVM"; }; 四. java.policy文件的使用 ---- 对于windows 95/98/NT,使用.java.policy文件的方法主要有下面两种。 ---- 1. 使用缺省目录 ---- 我们可以简单地将编辑好的.java.policy文件拷贝到windows 95/98/NT的HOME目录,这时,所有的applet(或Java应用程序)可能都拥有某些相同的权限,使用起来简单,但不灵活(例如:对于java.io.FilePermission ,其目标类的target_name必须使用绝对路径),如果不是在企业内部网中使用,还可能存在一定安全隐患。 ---- 2. 在命令行中指定 ---- 在命令行,如果我们希望传递一个Policy文件给appletviewer,还可以使用"-J-Djava.security.policy"参数来指定policy的位置: appletviewer -J-Djava.security. policy=pURL myApplet ---- pURL为Policy文件的位置。下面,是一个实际的例子,以当前目录的.java.policy文件所指定的安全策略运行当前目录的LanServerTalk.html(文件中装载并运行LanServerTalk.java): appletviewer -J-Djava.security.policy =.java.policy LanServerTalk.html ---- 这种方法使用灵活,特别是作为一个软件包在企业内部网中发布时,安装、设置和迁移软件,基本无须修改Policy文件的内容,使用起来相当简单,而且,安全许可的范围控制较精细。
上一页 [1] [2]
|
|