对RMI的客户端的运行一直很迷惑,其中一个就是安全策略文件的问题,今天看看了如果客户端是Applet的情况,有一篇资料说Applet不需要写System.setSecurityManager(new RMISecurityManager());在服务器端可以不设置,下面是一篇资料上关于服务器端的情况:第一步是安装 RMI 安全性管理器。尽管这不是严格必须的,但它确实允许服务器虚拟机下载类文件。例如,假设客户机调用服务器中的方法,该方法接受对应用程序定义的对象类型(例如 BankAccount)的引用。通过设置安全性管理器,我们允许 RMI 运行时动态地将 BankAccount 类文件复制到服务器,从而简化了服务器上的配置。
让 RMI 动态地下载这些类的弊端是有安全性风险。也就是说,实质上我们是在让服务器执行来自另一台机器的代码。虽然我们希望这些类文件不会危及服务器,但如果希望避免这样的风险,则您的 RMI 服务器不应该安装安全性管理器。然后,您必须确保将所有类文件安装在本地服务器的类路径中。如果客户端是应用程序,在客户端一般要写上System.setSecurityManager(new RMISecurityManager());RMI 运行时会自动将远程对象的存根类文件下载到客户机,但仅当应用程序安装了安全性管理器时才能这样做。如果应用程序使用缺省的安全性管理器,则需要在客户机计算机的类路径预安装存根类文件,否则应用程序将捕获到一个安全性异常。
如果Applet要访问本机资源,则需要数字签名了和安全策略文件了,有篇文章总结的很好,http://java.e800.com.cn/articles/2007/126/1169755326341477575_1.html,还要sun公司的官方网站:http://java.sun.com/docs/books/tutorial/security/tour1/index.html。
如果客户端是应用程序,该怎么办呢,总不能每次在客户端的命令行里输入: > java -Djava.security.policy=policy.txt CalculatorClient 吧,这个做测试还行,在实际应用中该怎么办呢?
进一步学习中。。。。。。
分享到:
相关推荐
通过java rmi 与java applet技术,实现两台主机的通信功能,有详细的源码。
Applet 里调用rmi
客户层组件包含应用程序客户端组件和Applet组件 J2EE 容器分为EJB 容器、Web 容器、应用程序客户端容器和Applet 容器 开发 J2EE 应用程序的不同阶段是:创建组件、组件封装、应用程序汇编以及应用程序部署 J2EE 平台...
充分利用了J2EE体系结构,尤其是RMI与JNDI技术解决了小范围内远程仿真资源的查找、调度与访问的问题。利用Applet/Servlet之间的通讯机制,通过服务接口获得分布式环境提供的信息、数据,进而控制仿真实体的运动。在此...
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer ...
第1章 servlet概述第2章 Java Web服务器第3章 第一个servlet 第4章 servlet链第5章 servlet-side Includes 第6章 会话管理第7章 安全性 第8章 HTML表单第9章 在servlet中使用JDBC 第10章 applet与servlet的通信第11...
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer ...
Java Application与Applet所用编译命令相同 通常情况下,Java Application H能有一个main。方法 Java Applet必须有HTML文件才能运行 Java Applet程序的.class文件可用Java命令运行 处理对象传输的接口是 A 。 ...
OpenJMS是一个开源的Java Message Service API 1.0.2 规范的实现,它包含有以下特性: *. 它既支持点到点(point-to-point)... 支持RMI, TCP, HTTP 与SSL协议。 *. 客户端验证 *. 提供可靠消息传输、事务和消息过滤
本书对开发网络程序进行了非常完整的介绍(从应用程序和 applet两方面),它包括了从网络基础到远程方法调用(RMI)的所有内容。本书的章节涵盖了TCP和UDP套接字、组播、内容和协议处理器以及两个新的API: JSSE...
IBM SDK Java Technology Edition V8用户指南中文版的PDF文档,共计364页,可以系统性的了解及学习IBM Java8及其相关的IBM Java虚拟机JVM,有助于...第16章:RMI、IIOP和RMI-IIOP... 第17章:其他系统属性命令行选项
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer ...
java编程思想课件 java经典教程教程例题解答 java学习材料 内含java语言基础 面向对象基本概念 反射 io与对象列化 GUI组件 applet 分布式计算与RMI
请参见: 描述 Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色...
J2SE的Swing、Applet、Net、RMI、Collections、 IO、JNI……J2EE的JDBC、Sevlet、JSP、JNDI…..JDK中Collections、 Logger、IO…..的源代码
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer 提供...
用采用RMI、CORBA或者自定义TCP/IP信息的applet来实现。这些技术往往由于复杂而产生诸多不利之处:技术难以实现、存在防火墙限制(因为需要打开非HTTP的通讯端口)、需要额外的server开发和维护。并且除了刷新整个...
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer ...
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer ...
★ 第一讲 Java语言概述 ◇课前索引 ◇1.1 java语言的发展史 ◇1.2 java的工作原理 ◇1.3 一切都是对象 ◇1.4 构建java程序 ◇1.5 java程序规范 ◇1.6 建立java开发环境 ...★ 第十讲 JSP与Servlet