rmi初步----安全管理器的使用

1、客户端连接到服务器可能被其他服务器监听已经可能会受到病毒文件,客户端需要进行安全管理器的设置

2、客户端安全管理器的设置

(1)、在main方法中

System.setProperty("java.security.policy", Main.class.getResource("client.policy").toString());
System.setSecurityManager(new RMISecurityManager());
(2)、在eclipse中的vm arguments中设置

-Djava.security.policy="src\com\hoolai\basketball\sysmanager\client.policy"  
-Djava.security.manager=java.rmi.RMISecurityManager
3、client.policy

grant{
permission java.net.SocketPermission "192.168.40.69:1024-65535","accept,connect,listen";
};
注意端口的设置

4、连接方式的解析  :accept、 connect、listen、 resolve

“侦听”动作仅在与“本地主机”一起使用时才有意义。任何其他动作出现时,都会暗含“解析”动作。“解析”动作指的是主机/ip 名称服务查找。
作为 SocketPermission 的创建和含义的示例,注意如果将以下权限:


   p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect,accept");
 
授予某个代码,则其允许该代码连接到 puffin.eng.sun.com 上的 7777 端口,并接受该端口上的连接。
类似地,如果将以下权限:


   p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect,accept");
   p2 = new SocketPermission("localhost:1024-", "accept,connect,listen");
 
授予某个代码,则其允许该代码接受本地机器上 1024 和 65535 之间任何端口上的连接、连接到这些端口或者在这些端口上进行侦听。


你可能感兴趣的:(rmi,安全管理器)