关于RMi的问题 :access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)

jxylook 2004-11-23 05:35:26
当我执行的时候,抛出异常
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1026)
at java.net.Socket.connect(Socket.java:446)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:160)
at examples.hello.HelloImpl.main(HelloImpl.java:32)



这该怎么解决阿?

...全文
1957 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DNCS 2005-03-12
  • 打赏
  • 举报
回复
把服务器中的System.setSecurityManager(new RMISecurityManager())删除,但是客户端的不能删除
DNCS 2005-03-10
  • 打赏
  • 举报
回复
没有配置策略文件 grant{
permission java.security.AllPermission;
};

java -classpath F:\fuxuebaoinformation\JBTest\JNDAndRmi\test -Djava.rmi.server.codebase=file:/F:\fuxuebaoinformation\JBTest\JNDAndRmi\test\/ -Djava.security.policy=register.policy tt.Display
MInoVe 2004-11-23
  • 打赏
  • 举报
回复
把客户端和服务器端的System.setSecurityManager(new RMISecurityManager())删了试试
jxylook 2004-11-23
  • 打赏
  • 举报
回复
下面是程序的代码:
服务器端:
1。PerfectTimeI.java

/*
* Created on 2004-11-23
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package c15.rmi;

import java.rmi.*;



public interface PerfectTimeI extends Remote {

long getPerfectTime() throws RemoteException;

} ///:~

2.PerfectTimeI.java
/*
* Created on 2004-11-23
*
* TODO To change the template for this generated file go to Window -
* Preferences - Java - Code Style - Code Templates
*/
package c15.rmi;

import java.rmi.*;

import java.rmi.server.*;

import java.rmi.registry.*;

import java.net.*;

public class PerfectTime

extends UnicastRemoteObject

implements PerfectTimeI {

// Implementation of the interface:

public long getPerfectTime()

throws RemoteException {

return System.currentTimeMillis();

}

// Must implement constructor

// to throw RemoteException:

public PerfectTime() throws RemoteException {

// super(); // Called automatically

}

// Registration for RMI serving. Throw

// exceptions out to the console.

public static void main(String[] args)

throws Exception {

System.setSecurityManager(

new RMISecurityManager());

PerfectTime pt = new PerfectTime();

Naming.bind("//127.0.0.1:2005/PerfectTime", pt);

System.out.println("Ready to do time");

}

} ///:~

3客户端的代码:
DisplayPerfectTime.java

/*
* Created on 2004-11-23
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package c15.rmi;

import java.rmi.*;

import java.rmi.registry.*;



public class DisplayPerfectTime {

public static void main(String[] args)

throws Exception {

System.setSecurityManager(new RMISecurityManager());

PerfectTimeI t =

(PerfectTimeI)Naming.lookup(

"PerfectTime");

for(int i = 0; i < 10; i++)

System.out.println("Perfect time = " +

t.getPerfectTime());

}

} ///:~



67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧